To get this to work without adding the fake entry at the start, you can implement ITypedList in your collectionbase. This requires deriving PropertyDescriptor to implement proper GetValue and SetValue methods for your derived property descriptor. Here is your sample back modified to do this.
forumcollection_4383.zip