Does NSIS have support for shared dlls? I think that a shared dll is just a dll that has a count associated with it in the registry somewhere. It gets incremented each time an app is installed that uses that dll. When the apps are uninstalled, the count is decremented. If no apps are using the dlls, the dll can be removed. I know we've all seen the stupid warning message saying that "the dll no longer appears to be used, would you like to remove it?" message.
By the way, it's great to see all of this support for such a great product! Thanks for the dll version checking!! I'm glad Justin is listening.