I think I know what he means... I've had the same or at least similar problem. In my installer class, I instantiate FaxMan in order to tell the server to set the tray icon to hidden. Originally I did this:
DataTech.FaxManNet.FaxMan faxMan = new DataTech.FaxManNet.FaxMan();
faxMan.Server["Hidden"] = "true";
faxMan.Dispose();
But FaxMan would often remain in memory, with the tray icon still visible (the default behavior), and then Windows could not start the service because the executable was already in memory running under the installing user's context.
I ended up adding code before and after the lines above to first start the service, then run the above code, then stop the service. That usually, but not always, works. Occasionally it still exhibits the same symptoms.
During uninstall, my installer class runs faxman.exe /remove, but again, it occasionally just hangs and leaves the service in an invalid state, requiring a reboot to completely uninstall.
I also noticed in the Vista thread you referenced that the .INI HIDDEN option is no longer supported, but it does definitely still work. Even when running as a service, the icon is visible (and works) if that value is not in the .INI file. I don't want it showing because I don't want to allow the non-admin user to stop the service.