Prueba así a ver que pasa:
Código Delphi
[-]
With qOperacion Do
Begin
Close;
SQL.Clear;
SQL.Add('Insert Into Mantenimiento (codigo, fecha, total_factura, Gasto, total) Values (:codigo, :fecha, :total_factura, :Gasto, :total) ');
ParamByName('Codigo').AsInteger :=strtoint(edCodigo.text);
ParamByName('FECHA').AsString := FormatDateTime('dd/mm/yyyy',dtpFecha.Date);
ParamByName('Total_Factura').AsFloat:=strtofloat(edtotfac.Text);
ParamByName('Gasto').AsFloat :=strtofloat(edgasto.Text);
ParamByName('Total').AsFloat :=strtofloat(edtotal.Text);
ExecSQL;
End;