Hola
Tienes un AdoConnection que enlaza la base de datos, tienes un ADODataset que no esta haciendo nada mas que leer el codigo que le das del query.
Yo quitaria el ADODataset y pondria un AdoQuery, quedaria asi:
Código Delphi
[-]
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO tabla_dest (campo1,campo2,campo3) VALUES (campo1ori,campo2ori,campo3ori));
ADOQuery1.ExecSQL;
Es una inserción normal, no tiene por que hacerse mas grande de la cuenta, ademas se usa el exec, para que cerrar ademas el query.
Otra cosa no me gusta el ADD, tienes que hacer un clear anterior, prefiero TEXT, con esto me ahorro lineas de lectura, por tanto rapidez en el programa.
Bueno, es mi opinion.
Saludos