Please ensure that the custom storage provider is set on Page_Init
as shown in the online demo you linked. Also, I would suggest checking if there is a problem with writing and reading the state from your database. Examine if there is any data in the row of the database table, in which the state is stored.
If the problem persists, you can run the demo locally (it is located in [RadControls for ASP.NET AJAX installation path]\Live Demos\Dock\Examples\BuiltInDockStatePersistence
) and use it as a reference for configuring the built-in dock state persistence on your end.
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed