Prueba en principio a poner únicamente dos TpFIBTransaction: WriteTransaction y ReadTransaction, tal como viene en el ejemplo de
www.devrace.com.
Estos dos junto a tu TpFIBDataBAse deben ser suficientes para que tengas todo el control sobre tus transacciones.
Yo, por ejemplo, en los DataSet pongo a Fase AutoCommit, me gusta que el usuario tenga una oportunidad de deshacer lo hecho.
Saludos,