I haven't updated one of my Bitcoin-QT clients in several months. One of my transactions from early April is still unconfirmed 3 weeks later. Should I update my Bitcoin client and move the Wallet.dat or use pywallet? Any ideas?
Transaction ID?
Depending on the problem, it may never confirm (it may no longer be a valid transaction).
You could use pywallet to remove the transaction from your wallet. That would work as long as the recipient isn't re-broadcasting the transaction regularly.
It would be a good idea to upgrade to Bitcoin Core 0.9.1 regardless of how you fix this problem. Make sure you have a good backup of the wallet before you do anything else.