Hola.
Lo primero que salta a la vista, es que tienes fechas sin delimitar. Es decir :
Código SQL
[-]and (09/16/2004 - d.vencimiento)>= 30 and (09/16/2004 - d.vencimiento)<= 90
Eso debería quedar en :
Código SQL
[-]and ('09/16/2004' - d.vencimiento)>= 30 and ('09/16/2004' - d.vencimiento)<= 90
Si aún no te funciona, haz explicitamente la conversión de cadena a fecha :
Código SQL
[-]and (cast('09/16/2004' as date) - d.vencimiento)>= 30 and (cast('09/16/2004' as date) - d.vencimiento)<= 90
Saludos.