Yo tuve ese mismo problema y lo resolví (con ayuda del foro, claro) agregando otra transacción para insertar un registro.
Aún no encuentro el porque pero en mi programa el IBTransaction1 permanece activa y despues de realizar las consultas y procesos para grabar un registro no puedo usar el IBTransaction1, así que lo que hice (no se si es correcto, pero me funcionó) es agregra otro IBTransaction2 y con el realizar mi proceso de insert.
Aquí puedes ver el
hilo que hago mención, espero te ayude.
Salud OS.