La cuestión tiene su lógica, supongo. ¿Cómo hace DisableControls para inhibir la actualización de los controles
data aware? No puede ir por ahí deshabilitando cada uno de los controles conectados al
dataset. En su lugar, imagino que lo que hace es cortar el paso de información a través de los
datasource conectados (cada
dataset mantiene una lista de los
datasource conectados a él). Pero una relación maestro detalle se realiza mediante un
datasource, así que el efecto colateral es el que ya observaste.
Esto me dice la lógica, pero si no te convece, quizá lo haga el manual

:
Cita:
|
Empezado por manual del Delphi
If the dataset is the master of a master/detail relationship, calling DisableControls also disables the master/detail relationship. Setting BlockReadSize instead of calling DisableControls updates the detail datasets as you scroll through the dataset, but does not update data-aware controls.
|
Además te muestra la alternativa para mantener los controles desconectados.
// Saludos