Hola DClase, así como esta tu codigo, recorres el ClientDataSet1 y actualizas el registro actual del ClientDataSet2 pero siempre el mismo (para hacer eso no necesitas un ciclo, actualizas directamente el registro actual). Puedes probar de poner un Post:
Código Delphi
[-]
..............................................
ClientDataSet2.Edit;
ClientDataSet2.FieldByName('CAMPO1').AsFloat := FieldByName('CAMPO1').AsFloat;
ClientDataSet2.Post;
..............................................
Saluditos