How can I make my client forget this transaction.
Unfortunately the Bitcoin-Qt/bitcoind client does not know how to purge these double spends. As you realized, if the transaction includes not just the double spend but other inputs the client doesn't show those as being avail
There are several ways of resolving this.
One is to export your private keys and then import them into a new, empty wallet. Bicoin-Qt has a debug menu where these commands can be entered.
-
http://bitcoin.stackexchange.com/a/4633/153The other is to use the pywallet utility to delete all the transactions and then restart with -rescan to have the balance recomputed properly. If your wallet has passphrase encryption then you'll need joric's fork, not jackjack's.
Another approach is to create a new wallet at Blockchain.info:
-
https://blockchain.info/wallet/import-walletand then create a new empty wallet on your Bitcoin-Qt client (and spend the funds back to your new wallet).
[Edit: If you are still stuck or need assistance, you probably could find someone trustworthy willing to help -- for a fee. This would only be if you never expect to receive more funds at any address in your wallet. What you do then is send your wallet.dat plus a new Bitcoin address (where you would like to have your recovered funds sent) and the person you hired performs the work of recovering the funds.]