I have tried many client versions and they all crash.
Not all wallet.dat files are compatible with each version. For instance, a wallet from 0.6 won't work with a v0.5 client, I believe.
PyWallet is a utility that will let you export the keys. Perhaps if your wallet is corrupted, it will not give correct results?