Si usas Dialect 1 los campos DATE llevan tambien la hora, como si fuera un DateTime.. ya ves.... Pásatea a Dialect 3 y ya queda solucionado.
De todas formas depende de como lo leas en Delphi, si lo lees como una fecha no te pilla la hora pero si lo lees como un texto si que te la muestra (por ejempo si lo visualizas en un Memo o concatenas campos mediante || o haces un CAST ... VARCHAR() ).
A mi al insertar o modificar el campo me pilla siempre la hora como 00:00:00 tanto en los campos que se inicializan en un trigger
Código SQL
[-]IF (NEW.fecha_entr IS NULL) THEN NEW.Fecha_entr="TODAY";
como los que pongo desde Delphi
Código Delphi
[-]
Dmq1.Edit_Q.SQL.Text:=
' UPDATE ENTRADA SET'+
' fecha='+Dmq1.FechaToIB(Edit_fecha.Text)+', '+
' hora='+Dmq1.HoraToIB(Edit_hora.Text)+', '+
' origen='+Dmq1.TextoSQL(Edit_origen.Text)+', '+
..........
Aqui la funcion que hice tan solo se encarga de la conversión de formato, que por lo que veo es diferente a la tuya (yyyy/mm/dd):
Código Delphi
[-]
Function TDMQ1.FechaFromIB(fecha:TDateTime):String;
var resultado:string;
formato : TFormatSettings;
begin
formato.ShortDateFormat:='dd/mm/yy';
formato.DateSeparator:='/';
resultado:='"'+DateToStr(fecha,formato)+'"';
if resultado='""' then resultado:='NULL';
FechaFromIB:=resultado;
end;
Espero que te sirva de algo.