Claro lo que pasa es que trabajamos de formas distintas...
Al iniciar la aplicación declaro un AdoCommand y a lo largo de toda la aplicación lo utilizo para insertar datos... algo como:
Código:
var
index: integer;
i: string;
begin
i := 'Insert into tabla xxxxxxxxxx values (xxxxxxx)';
ADOComm.CommandText := i;
ADOComm.Execute(index);
end
Me da la impresión que al declarar un objeto table y abrir la tabla para luego hacer un .append, ahí el ADO te esta generando un bloqueo, dado que estas insertando y que al existir un trigger en el SQL que necesita esos datos, se produce un error... Pero te repito, nunca he trabajado así, por lo cual solo estoy imaginando lo que puede pasar.
Espero que alguien más te pueda ayudar con el problema...