Cada aplicação web tem seu próprio Classloader (isolando-os). Quando você chama o método Class.forName(), há um bloco estático que está tentando carregar a biblioteca compartilhada (arquivo dll) - portanto, ambos os aplicativos da Web estão tentando carregar a biblioteca compartilhada, daí a mensagem de erro quando a segunda tenta carregar.
O jar JDBC que você tem para o sqlserver deve ser movido do pacote com seus wars para o
tomcat 7.0/lib
e copie o sqljdbc_auth.dll para a pasta tomcat/bin - desta forma ele estará no carregador de classe pai do tomcat, e a classe será carregada apenas uma vez. |----------------------------------|
| sqljdbc*.jar --> tomcat*/lib |
|----------------------------------|
| sqljdbc_auth.dll --> tomcat*/bin |
|----------------------------------|