En la prehistoria usé SQL Server así que lo que trae la versión 2008 ni idea. Pero por lo que
leo desde el sitio de MSDN el problema está en el tipo de dato y su precisión.
Resulta ser que los geniesitos de Microsoft ahora han declaro al tipo TIME con la posibilidad de indicar su precisión por debajo del segundo, cuyo valor va de 0 a 7; siendo 7 el valor por defecto.
[OFF-TOPIC]Que yo sepa, esto está fuera de estándar SQL. ¿Que no era que había cierta reglamentación de lo que es un TIME?
[/OFF-TOPIC]
Esto hace que dependiendo de la precisión establecida el tipo TIME se enmascare en un formato de coma flotante para el caso. Esto hace que luego al intentar leer el dato no se pueda interpretarlo... a este nivel el problema ya puede ser de/los componentes de acceso que no tienen soporte (actualizado) para SQL Server 2008 y por tanto no saben como trabajar con este tipo de dato.
Justamente en dicho enlace se da la información necesaria de como ofrecer compatibilidad hacia atrás dependiendo del método de conexión.