No termino de entender el problema, yo uso esto hace bastante y me viene funcionando bien
http://foros.emprear.com/deteccion-browser/
Por supuesto que si se fuerza la vista de compatibilidad, cambia el user-agent y ie9 es identificado como 7(que es la vista de compatibilidad x defecto) ó ie8 si existiese un x-ua emulate para el mismo.
Pero esa es la idea. Yo me limito a hacer el análisis de lo que el navegador envié. Quiero suponer que el que fuerce la vista o modo del navegador tendrá sus razones para hacerlo
Saludos