technical question: receiving wallet.dat error
Your wallet.dat hold the keys.  If the client is intermittently seeing errors you will not want to continue using it.  

You essentially want to create a new, empty wallet and then import the keys into the new wallet.

One approach is to use Blockchain.info/wallet which can import the wallet.dat, and then you can export the keys from their web interface.

If that doesn't work, then you can try running the client (with no blockchain data files and no network connectivity) and from the Debug console export (dump) the private keys.

Another approach is to use joric's pywallet tool to export the keys.