So in a typical model where you have a parent that can have many children and a child that can have only one parent, how do you manage the adding of children. I have been u
This is not an NHibernate problem at all.
You should implement the AddChild method. The classes are responsible for their consistency, so they shouldn't expose anything that should not be available. For instance, the (mutable) Children list should be hidden. Exposing an IEnumerable is a good idea.
Your second code is a good starting point. You probably need some more methods, like RemoveChild or CoundChildren.