Nope, you're not missing anything from the picture. The foremost limitation of the SF BusinessObjects is that they are a single object that contains many actual records. One class and one instance contains multiple records, but the BO only talks to one record at a time. It was designed this way to be similar to the way some older programming languages work. However, with .NET, it's an issue because .NET expects collections for data sources, and a BO is only a single object. So, the BO has to try to act like both a single object and a group of objects as well. That's why we created the BBS. It wraps a BO and turns it into a collection of instances. They all share their internal data table behind the scenes so they each behave like they are the same business object, but each is pointed to a specific row. Since all of the children share the same internal DataTable, they don't all need to be children of the parent, just one of them does... the original one you linked up in your code. I'll have to take a look at this and see why the ParentBusinessObject reference is getting set on all of the child objects.
FYI, this was the first item on our list of enhancements for SFv2; separate objects and collections. We use an entity model with multiple classes instead of shoehorning all logic into one class: Entity, EntityCollection, EntityWinFormsView, EntityWpfView, EntityWebView, etc. I'm sure you'll probably be one of our first beta users when we post it.