>6 that I am aware of.
The reason I personally don't like to share the DLL at the server level is that if you make one adjustment in it, you will have to retest the entire set of applications all together before moving the DLL at large. If the DLL is dependent on the application, then, you can test one and deploy and do the others later. Because, one change in the DLL might work ok on one application but not on the others based on some specific parameters that might apply.