...you can regenerate them from the network itself. Just delete all files in your bitcoin directory except wallet.dat (make a backup though), and restart the client.
Nope. We need a fix for this. It happens to often. "You can..." at the present stage of the project is not very encouraging for new adopters.
It does not seem to be a noobie error. I can reproduce the error on three different windows machines. Since I am hacking my own variant of the reference client on Linux I did not care too much about it but with the activity this thread gets here we need a quick fix. I do not have a working bitcoin compliation environment for windows at present, so I cannot check the reason of this or make a patch myself - but I think the matter is urgent.
"You will be able to" sound better?
This seems like a simple fix to code into the program itself, especially since you can easily regenerate your wallet transactions from the network.
If blkindex.dat == "corrupt" then { BackUpTheFile(); DeleteOriginal(); RestartBTC(); }
done. Someone throw that into the repository.