If you want to create RadDock controls dynamically you should do it in the Init event of the page, in order to allow the RadDockLayout to automatically manage their positions. You could create RadDock controls in other events, but you should recreate them in Init when the next postback or AJAX request occurs.
This example utilizes ASP.NET AJAX and adds the newly created docks without postback. The new docks are created into a hidden UpdatePanel and then transferred to a dock zone with client-side script. This technique eliminates the need to update the whole dock zone and all of its children.