Cuando se trabaja maestro-detalle usando un TDataSetField (en un TClientDataset), la tabla maestra tiene que estar en modo de edición para poder modificar el detalle. Recuerda que finalmente la tabla hija es simplemente un campo de la tabla maestra.
Código Delphi
[-]
if M.state = dsBrowse then
M.Edit;
try
D.Append;
Result:= FEditor.Ejecutar(Owner) = mrOk;
finally
.
.
.