Well, first, I cannot give you a straight answer about the tree view as I don't know what control you are using nor how they interpret the IBindingList implementation. So the first thing that you need to do is remove the tree view from the formula altogether and just add a new row through the BBS. Another option is to just drop on a DataGridView and see if it works. This will tell you if the issue is the tree view or some other code.
Second, I don't understand why you are using reflection to set the parent field. You are talking to a BO, so if lcParentId_Field is a column in the underlying data table, then you most definitely don't want to use reflection. You should do this instead:
loBO.CurrentRow.Item(lcParentId_Field)
And if the field is a custom property only, then you could possibly do this depending on how the custom property is defined (GetCustomBindablePropertyDescriptors must know about the property to do this):
loBO.Item(lcParentId_Field)