Gracias Fernando,
A ver si lo explico bien, creo que no lo he explicado correctamente.
La BD está en SQL Server 2008 y también tengo una de prueba en 2012. Si ataco a la BD con el ODBC que viene directamente en Windows DRIVER=SQL Server me funciona correctamente con VARCHAR(MAX) el problema viene cuando ataco con el DRIVER propio del 2008 o del 2012 DRIVER=SQL Server Native Client 10.0.
Se supone que está más actualizado que el anterior y además la recomendación de M$ es trabajar con VARCHAR(MAX) y no con TEXT porque como bien explicó Mauricio en un post anterior la tendencia es a desaparecer. No sé porque tiene este comportamiento o es que tengo que configurar algo que se me escapa. El realizar un CAST sería una locura ya que trabajo con un capa de datos que intenta hacerme transparente el acceso a los datos. Le pido que me abra una tabla determinada y me crea una vista remoto al vuelo.
Espero haberme explicado.