bitcointools has a fixwallet.py that can often fix broken wallet.dat files.
https://github.com/gavinandresen/bitcointools/
If that works, I'll be very very happy, OMG!! You're the best Gavin.

I finally managed to figure out how to run it, and then it spouted an error I don't understand. Here is the text:
C:\Program Files\Bitcoin\bitcointools>fixwallet.py --datadir=m:\bitcoin --out=walletFixed.dat
Unknown key type: bestblock
Well, it didn't fix the wallet the way I wanted it to, it still had the hung transactions on it. I want to Remove those hung transactions, and fix whatever caused them, Or fix whatever is causing it so that they will stop being hung.