I am glad you resolved the issue.
By design the RadDockLayout control requires all registered docks and zones to have different values for their UniqueName properties. I am not sure why you had problems in one of the applications when removing the docks, but in any way it is not related to the RadDockLayout control, because if two docks with identical UniqueName are registered at the same with the Docking Layout, an exception will be thrown.
To remove a dock from the Controls collection of a parent control, you should make sure you are removing it from its direct parent. I suppose, one time the dock is added to the controls collection of the Layout, and other time to the controls collection of the DockingZone. That's why removing it from the zone works in one of the scenarios.
For example in our MyPortal demo
when the dock is created for the first time it is added to the zone, and when recreated in the Page.Init event handler it is added to the DockingLayout. If you try to remove it from the RadDockLayout's controls collection, when in fact it is added to the zone, the dock will not be removed.
To avoid similar issues in the future, please make sure you always add the dock to the RadDockLayout, control, and then set the RadDock's DockZoneID property to the ClientID of the zone, where you want to position your dock.
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Public Issue Tracking
system and vote to affect the priority of the items