// DataModule1.IBTransaction1.Active:= False; //ESTA LINEA ME DESACTIVA EL IBDATASET2
// DataModule1.IBTransaction1.StartTransaction;
La primera línea que marcas te sobra ya que si cierras la transación te cierra el Dataset.
La segunda la tienes que abrir al empezar la operación de transvase de datos.
Y según parece su situación es correcta.
Cuando acabes la operación haces un
Commit, lo cual veo que sería correcto.
Aquí se supone que acaba la operación, por lo tanto no veo claro que hacen la 3 últimas líneas.
Código Delphi
[-]
DataModule1.IBTransaction1.Active:= False;
DataModule1.IBTransaction1.StartTransaction;
DataModule1.IBTransaction1.Commit;
Un Saludo.