I recently converted from Chakra Linux to Opensuse 13.1 without formatting the home partition (I took a chance) and didn't have to do the usual reloading of email, documents and bitcoin started working straight away after I installed it from opensuse repo. Chakra installation had bitcoin-qt 0.8.6 and opensuse loaded bitcoin-qt 0.9.1. So, basically, it found the files in the home partition and seemed to carry on from there. I do have a backup from before the conversion. Bitcoin 0.9.1 did add a quite a few blocks before the error. So, maybe it wasn't the transition to opensuse that did it.
Now the wallet is six days behind. Here is quote from debug.log. It is 'catching up' from block 297123.
2014-04-23 20:59:35 ProcessBlock: ACCEPTED 2014-04-23 20:59:45 UpdateTip: new >best=000000000000000087be011f611f80fd4d3d917780a27850fb878512f492f828 >height=297123 log2_work=78.143683 tx=37308919 date=2014-04-22 09:43:51 >progress=0.993196 2014-04-23 20:59:45 ProcessBlock: ACCEPTED 2014-04-23 20:59:56 ERROR: CScriptCheck() : >447f1be22db9cca6b7539a66b54f99ea11c1c0316a72915d34d8a1c86d00ebcf >VerifySignature failed 2014-04-23 21:00:03 EnvShutdown exception: Invalid argument (22)
2014-04-23 21:21:02 CheckForkWarningConditions: Warning: Large valid fork found forking the chain at height 297123 >(000000000000000087be011f611f80fd4d3d917780a27850fb878512f492f828) lasting to height 297131 >(00000000000000004866bff18fa3e4378486920d6b9dc7f332f9f0bc18bd247e). Chain state database corruption likely.
Any suggestions on how I should proceed?