Es posible que falte información para darte una solución, como la versión de delphi con la que estas trabajando, pero te recomiendo que mires la propiedad RowsAffected. deduzco que MOD.MyCommand1 es un tMyCommand y debería disponer esta property.
Propongo que pruebes a modificar tu código de la siguiente manera y compruebes el comportamiento de estas modificaciones.
Código Delphi
[-]
procedure TForm1.Button2Click(Sender: TObject);
var
archivo: String;
cod1 : Cardinal;
nom: string;
iTotalRegistrosAfectados:integer;
begin
iTotalRegistrosAfectados :=0;
While Not MOD.Tabla2.Eof do
Begin
cod1:=MOD.Tabla2.fieldbyName('CODIGO').Value;
nom:=MOD.Tabla2.fieldbyName('NOMBRE').Value;
iTotalRegistrosAfectados := iTotalRegistrosAfectados + Insertar_Registro_Tabla_1('archivo', cod1, nom, Sender);
CFG.MOD.Tabla2.Next;
end;
memo1.lines.add('Número de registros insertados: '+ IntToStr(iTotalRegistrosAfectados ));
end;
function TForm1.Insertar_Registro_Tabla_1(NTabla:String; cod1:cardinal; nom:string; Sender: TObject):integer;
var
iRegistrosAfectados:integer;
begin
iRegistrosAfectados := 0;
If MOD.Conexion.Connected =False Then
MOD.Conexion.Connected:=True;
MOD.Tabla1.TableName:=NTabla;
MOD.Tabla1.Active:=True;
MOD.MyCommand1.SQL.Clear;
MOD.MyCommand1.sql.Add('INSERT INTO '+NTabla+'(CODIGO,NOMBRE) VALUES(:Codigo,:Nombre)');
MOD.MyCommand1.ParamByName('CODIGO').Value:=cod1;
MOD.MyCommand1.ParamByName('NOMBRE').Value:=nom;
Try
MOD.MyCommand1.Execute;
iRegistrosAfectados := MOD.MyCommand1.RowsAffected;
Except
End;
MOD.Tabla1.Refresh;
result := iRegistrosAfectados ;
end;