Clearly your client thinks it can spend inputs that the rest of the network is refusing. Try
this.
- Backup your wallet just in case
- Download Pywallet
- Run './pywallet.py --web'
- Go to http://localhost:8989 in your browser
- Fill the Delete form like this:
- Wallet Directory: /your/wallet/directory
- Wallet Filename: yourwalletfilename
- Key: all
- Type: leave 'Transaction'
- Click the Delete button
- Run 'bitcoin -rescan'
- Done, no more unconfirmed tx's
I tried it, and it works perfectly. After that your whole wallet is clean and up to date.
Write down the balance of your backup wallet and compare with the new balance. Probably it'll be different due to inputs you weren't able to spend.