Si los campos estan en el mismo orden, puedes hacer un ciclo e igualar los campos.
Código:
procedure CopiarRegistros(ADataSet1, ADataSet2 :TDataSet);
var
i: Integer;
begin
for i := 0 to ADataSet1.Fields.Count-1 do
ADataSet2.Fields[i].Value := ADataSet1.Fields[i].Value;
end;