Suelo trabajar con ibTransaction y commitretaining y no tengo ese problema (creo). ¿Qué parameters usas para la transacción? yo uso estos:
Código:
read_committed
rec_version
nowait
Puede también que sea un problema de uso. Yo suelo tener una transacción para cada formulario, no una común para todos, de manera que después de dar de alta o modificar un registro la transacción termina.
Saludos.