ViewState - это граф объектов, который построен параллельно дереву элементов управления, поэтому изменения такого рода обычно имеют побочные эффекты, которые вы описываете. Можно утверждать, что вы по сути угоняете объект Controls и придаете ему другое значение, которое на самом деле не является намерением переопределить. Скорее, переопределение предназначено для обеспечения другого механизма для достижения того же значения или намерения. «Дочерние элементы управления одного из моих детей» - это не то же самое, что «Мой дочерний элемент управления» .
Есть лучшие способы выполнить то, что вы описываете. Можно было бы явно указать свойство вашего элемента управления, к которому пользователи «области» должны добавить свои элементы управления. Если предполагается, что это сложный элемент управления, имеющий одну настраиваемую область, то предоставьте эту область как таковую.