Resultó ser un problema de permisos.
Cambié en php.ini la opción fastcgi.impersonate a 0 y probé con diferentes identidades de grupos de aplicaciones. Funcionaba como Sistema Local. Esta es una cuenta con más derechos de usuario que la cuenta de Servicio de red o Servicio local. Sin embargo, tenga en cuenta que ejecutar un grupo de aplicaciones con una cuenta con mayores derechos de usuario presenta un alto riesgo de seguridad. Para obtener más referencias sobre las cuentas y cómo configurarlas, consulte estos artículos:
Configuración Identidad del grupo de aplicaciones con IIS 6.0 (IIS 6.0) Cuentas de usuario de servicio Servicio de seguridad y derechos de acceso
Decidí volver a establecerlo en Servicio de red y descargué Process Monitor *. Luego lo usé para monitorear el proceso w3wp, lo que me mostró que esto estaba obteniendo acceso denegado en una clave de registro donde se almacena la ruta a sqlncli.dll.
HKLM\Software\ODBC\ODBCINST.INI\SQL Native Client 10.0
Así que abrí RegEdit y localicé esa clave
Hice clic derecho -> Permisos y agregué Servicio de red a la lista y le di permisos de Lectura.
¡Recicló el grupo de aplicaciones y ahora está funcionando!
¡Espero que esto ayude! Federico
*Hay un muy buen artículo paso a paso sobre cómo usar el monitor de procesos aquí.
http://www.iislogs.com/articles/processmonitorw3wp/