I got this a lot just after we upgraded to V9.
Turns out that all our old packages were setup not to use MSIExec, which seemed to be the problem. I went through them all and simply ticked the MSIExec option under install/uninstall options and they all started behaving properly.
Hope that helps.
I will give that a shot! Did you have to modify your return code mappings?
No I didn't modify the codes at all. Just tick the use MSIExec box and all was well.