Due to the "issue" Ben and I have found with the CheckBoxList I've created a new version of the DynamicControlPlaceholder that excludes the CheckBoxList's child controls from being persisted.
Furthermore I've translated the simple DynamicControlPlaceholder demo application to VB.NET.
You can find all the files here.
P.S.: In case you don't know about the DCP: It is a placeholder control which you can add controls to using Placeholder.Controls.Add(myControl) and they are automatically recreated after a postback.