La consulta es esta:
Código SQL
[-]
SELECT *
FROM DATOS
WHERE FECHA <= :FECHA AND M.TIP IN ('01','02','91','92')
En la base de datos Fecha esta definida como DATETIME.
Por lo que veo al hacer el StrToDate la fecha cambia a días: 42063 (sumados a la fecha 30/12/1899 da la fecha introducida)
El StrToDate debería de pasar a un formato fecha como este: "28/12/2015" ya que por lo visto al pasar los días a la consulta la select falla.
El problema parece estar relacionado más con Delphi que con Sql.