El problema de la clave primaria hay que salvarlo, ignoro como tienes definida la clave primaria (autoincrement, texto, etc):
Código Delphi
[-]
query1.sql.text := ' INSERT INTO DESTINO (clave, nombre, apellido) values ( :clave, :nombre, :apellido)';
query1.parambyname('clave').AsXXX := nueva_clave;
query1.parambyname('nombre').AsString := table1Nombre.AsString;
query1.parambyname('apellido').AsString := table1apellido.AsString;
query1.ExecSql;
Si son varios registros a copiar, crea una tabla temporal en memoria, la rellenas con los datos, le cambias la clave principal y despues usas la forma de
ilichhernandez
Saludos