Hola.
Apoyo la recomendación de
RONPABLO, con respecto del uso de parámetros. Eso además, te libera de determinar el formato de fecha que "entendrá" la base de datos, pues la fecha regularmente pasa de modo binario y es el propio motor el encargado de negociar el formato.
De cualqueir manera, si no hay de otra que pasar la fecha de manera textual, he notado que casi todos los motores la aceptan en formato 'yyyy-mm-dd'. Comento esto porque en algunos motores, como SQL Server u Oracle, el formato dependerá de la configuración del sistema base o de la configuración del propio motor, por lo que lo que funcione contra el SQL Server de tu máquina, no necesariamente funcionará contra el servidor del cliente. (Se que no es tu caso, caral, pero aclaro para el resto de la comunidad).
Finalmente, podes añadir las comillas simples valiéndote de la función QuotedStr.
Es decir, donde tenés DateToStr(Fecha), cambialo por QuotedStr(DateToStr(Fecha)), y seguro que funcionará.
Hasta luego.
