Hola, como bien dices, no está demás que preguntes si no hay una transacción activa, entonces que inicie una:
Código Delphi
[-]
If not(ibqryContactos.Transaction.InTransaction)
then ibqryContactos.Transaction.StartTransaction;
Sobre la propiedad
AutoStopAction, fijate bien,
en diseño es la 3ª propiedad del componente IBTransaction.
Salu2.