Since we are sharing deployment secrets, I will share mine as well. Not sure if anyone will like it, but it works well for us.
To avoid the networked .DLL fiasco, I load all of our applications from the users local machine using the Autoloader utility (AutoCAD 2012 and up).
I store all of the .DLLs on our server in a secure location. I have a login script that deletes all of the folders in the ApplicationPlugins folder on each local machine and then re-copies the folder structure and its contents from the server back to the ApplicationPlugins folder of the local machine. Everything in that folder is autoloaded when AutoCAD starts up depending on parameters in each specific Autoloader .XML file.
So if I need to make a change, I re-build, put the file on the server. The next time the users log into their machine, the script runs and updates the contents of the ApplicationPlugins folder. AutoCAD is started and all of the required apps are loaded!
On a very rare occasion a user will get an "unknown command" on one of the tools (as if something was not copied over properly), so I simply have them run the script manually, or have them log off and back on again! If they just run the script manually, they don't even need to close AutoCAD as it will autoload and new files dumped into the ApplicationPlugins folder!
Works great! The really nice thing is that I can do this with CUI menus as well!
Like I said, not sure if anyone will like it, but it works well for us!