What you say would be OK if both master and slave dataset would automatically be unfiltered when DisableControls is used.
But, what I saw is a nasty thing that the detail dataset remains filtered(!), it just does not accomodate when you iterate through master dataset.
This is quite inconsistent, I think.
Maybe applying Refresh to slave dataset would change this, but I didn't try, it was easier for me not to use DisableControls at all

Flickering is less problematic than loosing control over master/detail filtration when I iterate through 4 levels master/detail datasets, I think.

However, I think this is incosistent behavior which can introduce unexpected bugs in a software. I'm convinced that most newbies would not think that DisableControls would destroy master/detail relationship of datasets.
Maybe I'm wrong, but for me when you say "Control" I automatically consider something visual, not non-visual stuff (such as DataSource or Dataset)...
On other hand, if this is expected behavior, than the dataset should be automatically unfiltered when DisableControls is applied.