Para que el proceso siga normal podrias hacer algo como:
Código Delphi
[-]
IniciarTransaccion;
while not eof Table1 do
Begin
try
InsertarRegistroActual;
except
on RegistroDuplicado do
Begin
Table2.cancel; ShowMessage('Registro duplicado!');
End;
end;
Table1.Next;
end;
commit;
Sin hacer abort, ni rollback... de esa manera "matas" la excepción y continua normalmente el ciclo.
Hasta luego.