If the blk0001.dat file was OK, but the txleveldb/ files contained some corruption then -rescan wouldn't see the corruption. As I understand it, -rescan recreates the txleveldb/ files from the blk0001.dat file.
I just tried running the Windows binary of v1.4.12 but didn't have much luck. I put the bootstrap.dat file in place and it started syncing, but then this happens after it has loaded a few blocks:
Is that something that happens a lot on Windows still? It's part of why I stopped using Windows in the first place.
I guess I'll try syncing from bootstrap.dat on Linux a few times and see how well that works.
Edit: I'm running 4 clamd processes, all syncing from bootstrap.dat into different datadirs. None of them have "encountered a problem" yet:
SetBestChain: new best=9109e501431fb62e64dfce26112a22703e5feecb56501232bd4a5e8bf09c63a2 height=12200 trust=14866939091 blocktrust=1130602 date=05/28/14 02:23:26
==> /home/clam/.clam.bs1/debug.log <==
SetBestChain: new best=10a98d283d1952cf2ef5cf073faf1b9ec955f785511634fc202b5af0e9ed4bff height=19200 trust=22450387823 blocktrust=1048577 date=06/12/14 02:06:00
==> /home/clam/.clam.bs2/debug.log <==
SetBestChain: new best=2c47724a65e02a69a103f0bbf5f7e15b17e7915b92052e529b554226972edf4f height=14800 trust=17681301681 blocktrust=1157520 date=06/02/14 15:45:53
==> /home/clam/.clam.bs4/debug.log <==
SetBestChain: new best=28c04885cd701375d847853b814decb4bf1ef346f8b996703834f1cd0c6f080d height=10400 trust=12685082747 blocktrust=1231051 date=05/25/14 07:15:07
I'm surprised to see that the processes are CPU bound:
16265 clam 20 0 817072 29660 11732 S 95.0 0.4 7:41.56 clamd
16295 clam 20 0 823492 32428 11340 S 93.4 0.4 6:20.31 clamd
16187 clam 20 0 815872 34408 11760 S 88.4 0.4 9:49.87 clamd
16226 clam 20 0 837548 44116 26332 S 80.1 0.5 8:37.20 clamd
I would expect the 4 of them all reading from bootstrap.dat and writing to database files to hit an hdd bottleneck, but no.