Finding the cause of "Please wait until the current program is finished uninstalling or being changed"
Solution 1:
Do yourself a favor and restart the computer.
By doing so, windows will tell you which programs are still in use. After it restarts, try to uninstall the same program you did before, it should most likely work again.
If you are not the only person on the computer, its impossible to know what the other users have done while you were not there, If there are no programs running actively, it sounds like some kind of weird glitch I've never heard of.
Solution 2:
In my particular case it appears that a background process (tivoli endpoint manager or possibly a virus scanner auto updating itself or what not) was installing a program I was "unaware" of in the background. So common advice on the interwebs seems to be to kill "msiexec.exe" or "trustedinstaller.exe" or "installmanager.exe" if any of those exist in the process list. Java auto updates apparently do this. Other advice is to kill explorer.exe. Or possibly disable the system service that is firing off the background installs. Or reboot if those all fail (though if its a service doing the installs, the problem will just come back again, you may have to just wait it out until it finishes first). If all of those fail then possibly using the Revo Uninstaller will still work, but you always hope to not need to install 3rd party software to uninstall others :|
Or of course, you could just wait forever and then it may well work eventually...