A couple Quick suggestions:
During the install process on Windows using the Windows Installer, you are obviously checking to see if the service is running and stopping it before performing an upgrade.
I'd like to suggest that you also kill subsonic-agent.exe during that process. There is currently no way to stop the taskbar agent through it's interface, so I usually have to resort to killing it with Task Manager when the installer errors out because the file is in use, and it is trying to replace it.
Secondly, during the upgrade installation, it appears that all of my server's settings are maintained EXCEPT the items that are set through the subsonic-agent, namely port number, memory limit, and base directory. Could those values be left alone as well during an upgrade, like the rest of the server's settings are?
Thanks,
Glenn