Now that I think about it, "repairwallet" via the debug console should do the same thing, and it will be quicker.
I had to fiddle with this a few days ago when the client was doing some bizarre things like complaining I was trying to use already spent coins for a new transaction.
Yes that is exactly what it was doing. However only if I tried to send a large number of coins lets say over 100.
When I send 100 and under at a time it freezes for a few seconds, then the transaction is completed.