Cada aplicación web tiene su propio Classloader (aislandolos). Cuando llama al método Class.forName(), hay un bloque estático que intenta cargar la biblioteca compartida (archivo dll), por lo que ambas aplicaciones web intentan cargar la biblioteca compartida, de ahí el mensaje de error cuando la segunda intenta cargar.
El jar de JDBC que tiene para sqlserver debe pasar de estar incluido con sus guerras a tomcat 7.0/lib
y copie sqljdbc_auth.dll en la carpeta tomcat/bin; de esta forma, estará en el cargador de clases principal de tomcat y la clase solo se cargará una vez.
|----------------------------------|
| sqljdbc*.jar --> tomcat*/lib |
|----------------------------------|
| sqljdbc_auth.dll --> tomcat*/bin |
|----------------------------------|