El error se debe a la configuración regional y de idioma local del sistema operativo.
En inglés el formato para fecha es
mm/dd/yyyy, sin embargo en español es
dd/mm/yyyy, es por eso que no funciona con el Windows en español.
Firebird es incapaz de entender e interpretar tu fecha string en formato Timestamp; aunque en realidad no es culpa de Firebird. Puedo sugerirte dos soluciones:
[1] Si vas a insertar el valor de la fecha directamente en la sentencia SQL al construírla en el Query, entonces deberías usar el formato universal aceptado en SQL, que es:
yyyy-mm-dd.
[2] En vez de insertar los valores directamente en la sentencia SQL de tu Query, utiliza parámetros para pasar estos valores a la sentencia.
Tu sentencia quedaría así:
Código:
SELECT CvePedido
FROM Pedidos
WHERE Fecha = :Fecha AND CveCliente = :CveCliente
De esta manera, puedes pasar el valor de la fecha directamente de tu DateTimePicker, sin tener que preocuparte por la conversión regional de idioma. Tu código Delphi quedaría así:
Código Delphi
[-]
IBqry.ParamByName('Fecha').Value := DateTFecha.Date;
IBqry.ParamByName('CveCliente').Value := ComboCliente.Field.AsString;
Te recomiendo ampliamente la opción [2] sobre la [1]; es más elegante y te permite abstraerte de detalles regionales para que puedas concentrarte en cosas más importantes.