Hola.
Antes de iniciar la transaccion con "startransaction" debes comprobar si esta actia ó no. No conozco esos componente pero en los que yo he usado era al go como
Código Delphi
[-]
if not(transaccion.InTransaction) then
begin
transaccion.startransaction;
end;
Saludos