Agrega el mensaje de la exception al ShowMessage, para ver que es lo que dice.
No se si se refiere a que Interbase dio un codigo de error que no esta dentro de la tabla de errores de Delphi o si interbase te da un error con ese texto.
Código Delphi
[-]
procedure TFormControlOP.spAgregaEfectivoClick(Sender: TObject);
begin
DMMain_2.SQLConectionMain.StartTransaction(DMMain_2.Td);
try
spCajaMov.Close;
spCajaMov.ParamByName('ID_CPBTE').AsInteger := CDSOPagoID_OP.AsInteger;
spCajaMov.ParamByName('TIPO_COMPROB').AsString := CDSOPagoTIPOCPBTE.AsString;
spCajaMov.ParamByName('CLASE_COMPROB').AsString := CDSOPagoCLASECPBTE.AsString;
spCajaMov.ParamByName('NROCPBTE').AsString := CDSOPagoNROCPBTE.AsString;
spCajaMov.ParamByName('ID_CUENTA_CAJA').AsInteger:= StrToInt(edIdCtaCaja.Text);
spCajaMov.ParamByName('ID_CAJA').AsInteger := StrToInt(Trim(edIdCaja.Text));
spCajaMov.ParamByName('FECHA_MOVIMIENTO').AsDate := CDSOPagoFECHA.AsDateTime;
spCajaMov.ParamByName('DEBE').AsFloat := 0;
spCajaMov.ParamByName('HABER').AsFloat := CDSOPagoTOTAL.AsFloat;
spCajaMov.ParamByName('TIPOOPERACION').AsString :='E';
spCajaMov.ExecProc;
spCajaMov.Close;
DMMain_2.SQLConectionMain.Commit(DMMain_2.Td);
except
on e.Exception do
begin
DMMain_2.SQLConectionMain.Rollback(DMMain_2.Td);
ShowMessage('Operacion No finalizada....!'+#13+E.Message);
end;
end;
Traer;
end;