I have no blame for the software or for the developers. Crypto-coin applications are non-trivial. That being said, non-recoverable errors appear to be increasing in frequency, out in the world. (This is my gut feel. I have no hard data.) Blockchain is 150 GBytes now, approx. Grows daily. 5 Megabit FIOS connection will download new blockchain in 2-3 days, if I am lucky. Reindex also appears to take a long time. I don't know exact duration, yet. If reindex takes 1-2 days to run, but has a high chance of failure, then the most reliable recovery process is to always download a new blockchain. Maybe dedicate a netbook or laptop...keep hot spare blockchain ready at all times. Alternately, I can quit use of personal wallet, and rely upon exchanges. This solution (no personal wallet) is not happy for me. If my crypto-coins are always on deposit in an exchange or coin-bank, and I must use traditional processes to buy/sell, then I might as well simply stay with fiat. Wallets exist that do not require a complete blockchain...but at some level these depend upon existence of a trustworthy blockchain at some third-party entity. Seems as though exchanges are starting to fulfill this need. Not much different from central bank for fiat, in the long run.
OK. I have reproduced the problem to my own satisfaction. I believe it to be a "perfect storm" issue that stems from the simultaneous manifestation of several infrequent individual events. Given that I've spent more than 40 hours of serious focused work upon this matter, I am faced with a dilemma. Should I continue to pursue this matter alone and at my own expense? Or should I ask for help? Or possibly a reward? At any rate...here/below is the end of the log file from the reproduced database corruption.
2018-01-13 02:24:53 version handshake timeout from 116
2018-01-13 02:24:58 UpdateTip: new best=000000000000000000f5ef9ca0220abeac7b474f6470aa9397660531ef86c6a2 height=478537 version=0x20000002 log2_work=86.86067 tx=243257756 date='2017-08-01 08:59:33' progress=0.847051 cache=195.2MiB(1750287txo)
2018-01-13 02:25:01 UpdateTip: new best=0000000000000000000e62e0df477f899f485a6da366adef6467ceeb72214dd5 height=478538 version=0x20000002 log2_work=86.860708 tx=243258446 date='2017-08-01 09:07:25' progress=0.847053 cache=195.3MiB(1751171txo)
2018-01-13 02:25:02 version handshake timeout from 118
2018-01-13 02:25:08 UpdateTip: new best=0000000000000000010897d24cf560af85f46b8f82d1ebc5fc3c4d79f9375cef height=478539 version=0x20000002 log2_work=86.860746 tx=243260041 date='2017-08-01 09:25:55' progress=0.847059 cache=195.9MiB(1756839txo)
2018-01-13 02:25:11 Pre-allocating up to position 0xf00000 in rev00952.dat
2018-01-13 02:25:11 UpdateTip: new best=00000000000000000110048746f38cdfac533e1e2c3b8285c229cbb43eabdd02 height=478540 version=0x20000002 log2_work=86.860784 tx=243260307 date='2017-08-01 09:28:17' progress=0.847060 cache=196.4MiB(1761983txo)
2018-01-13 02:25:11 UpdateTip: new best=00000000000000000094abdb2dca7ed8c828f5c5f9c5840e9accfe1e6ef69fe0 height=478541 version=0x20000002 log2_work=86.860822 tx=243260370 date='2017-08-01 09:29:10' progress=0.847060 cache=196.4MiB(1762252txo)
2018-01-13 02:25:16 version handshake timeout from 119
2018-01-13 02:25:18 UpdateTip: new best=000000000000000000bdf7c7ba3aeef751e26182e391f9cb6e54bad6694e1b85 height=478542 version=0x20000012 log2_work=86.86086 tx=243262230 date='2017-08-01 10:08:40' progress=0.847066 cache=196.8MiB(1765749txo)
2018-01-13 02:25:26 UpdateTip: new best=0000000000000000004d7a5d2b057e4b44b4ff760f1216d3a4529ecb7fad0cf4 height=478543 version=0x20000002 log2_work=86.860898 tx=243263611 date='2017-08-01 10:16:16' progress=0.847071 cache=197.3MiB(1770574txo)
2018-01-13 02:25:31 UpdateTip: new best=000000000000000000007e8dd0ee030a2ecffab1580faab7bbbeccc70a38a608 height=478544 version=0x20000002 log2_work=86.860936 tx=243264418 date='2017-08-01 10:25:55' progress=0.847074 cache=198.6MiB(1782674txo)
2018-01-13 02:25:33 version handshake timeout from 120
2018-01-13 02:25:33 tor: Thread interrupt
2018-01-13 02:25:33 addcon thread exit
2018-01-13 02:25:33 torcontrol thread exit
2018-01-13 02:25:33 scheduler thread interrupt
2018-01-13 02:25:33 GUI: QItemSelectionModel: Selecting when no model has been set will result in a no-op.
2018-01-13 02:25:33 Shutdown: In progress...
2018-01-13 02:25:33 GUI: QItemSelectionModel: Selecting when no model has been set will result in a no-op.
2018-01-13 02:25:33 GUI: QItemSelectionModel: Selecting when no model has been set will result in a no-op.
2018-01-13 02:25:37 opencon thread exit
2018-01-13 02:25:39 UpdateTip: new best=000000000000000000c2d9fce2f37b5d68baa7550d6496346c2ed156f28e7196 height=478545 version=0x20000002 log2_work=86.860974 tx=243265249 date='2017-08-01 10:35:22' progress=0.847077 cache=198.9MiB(1785550txo)
2018-01-13 02:25:39 net thread exit
2018-01-13 02:25:40 msghand thread exit
2018-01-13 02:25:41 Dumped mempool: 0s to copy, 0.045002s to dump
2018-01-13 02:25:41 Corruption: block checksum mismatch
2018-01-13 02:25:41 *** System error while flushing: Database corrupted
2018-01-13 02:36:30 Corruption: block checksum mismatch
2018-01-13 02:36:30 *** System error while flushing: Database corrupted
2018-01-13 02:36:32 Shutdown: done