Hola StartKill!
Has probado de esta manera:
Código Delphi
[-]
ibsql1.close;
ibsql1.clear;
ibsql1.sql.add('insert into CD_ABONO '+
'(FCOD_CONTR, FCOD_PRE, FFECHA, FTIME)'+
' values (:COD,:PRE,:FEC,:TIM)';
ibsql1.ParambyName('COD').AsString := x_cod_contr;
ibsql1.ParambyName('PRE').AsString := xcod_pre;
ibsql1.ParambyName('FEC').AsDate := date();
ibsql1.ParambyName('TIM').AsTime := time();
IBSql1.ExecQuery;
En vez de convertir un Time a String. Directamente por medio de los parámetros, le pasas un tipo time. Igual de esta manera no te salta el error y te convierte bien el tipo time. Es sólo una suposición, no lo he probado.
Espero que te sirva.
Un saludo!