...
A note about orphan cascade:
Orphan only looks at one instance at a time. So a composite structure might have a list of child structures. When a child structure is removed from the CS it is considered an orphan. NHibernate does not care about other relation the structure might have (for example with branch or a new CS)
About reparenting : http://fabiomaulo.blogspot.com/2009/09/nhibernate-tree-re-parenting.html