I forgot how, but there is a way to "cancel" an unconfirmed send... (It will expire in time, if no-one accepts it.)
Chances are, it was rejected due to "no tx fee" (Doubtful)... Or it was accepted in an orphan chain, and thus, skipped on the real chain. Thus, it will expire, if there is no way to include missing "orphaned" transactions. (Eg, they accepted it, added it to a block, built off that block, but the real block passed-you up, and did not include it, when it was rebuilt.)
Or... the coins were not real, because they were from an invalid double-spend, and thus, will never confirm, since you didn't have them to actually spend. You just think you did, until the chain corrected that double-spend, and removed the amount from your wallet. (EG, bank-error in your favor, does not equal "in your favor". It corrects itself, like the banks do, and takes it back, like the banks do.)
To be sure, find your ROAMING folder with the chain-data, and delete everything in there, EXCEPT your wallet.dat. (You might want to back that up, while you are at it.)
Restart the NEW client/wallet-qt, and the corrected chain will be downloaded. If your transaction was on the old chain, you may still be trying to load the old-chain, and thus, never see the correction.
They need to fix all these wallets to "see" that a "New mandatory version" is needed, and "A database correction" is needed, to match that mandatory update. (They hard-code a "check-point" into the client, to ensure you have the most recent "untainted" chain, instead of a chain that may have been a bad chain or orphaned 51% chain, full of invalid transactions and double-spends.)
Easy to implement... Set a Version-number check on the network. Alert with a hard-coded link to the creators wallet-URL for the "latest update" program. Or simply make a launcher that checks for this junk in advance. Make each block ALSO contain a "version-built-by" number... so if that is incompatible, then the program can not continue... (Add the version-hash into the block, and the "hash" will not match unless it is the right version.) Though, that whole "checking element" should be a separate component that the wallet can download without having to actually update the wallet itself. Too much is unique inside of a wallet.
They need a generic wallet, and a "coin profile", that just plugs the changes of values.
A multi-wallet! Hint hint, flound...