Some updated observations leading me to believe that somehow possibly cached instances are not being handled properly as would-be orphans.
That is, our internal logistics via ObservableCollection<T> are doing the right thing by removing the instance from the source NH provided collection, and nullifying the parent relationship correctly, at least as far as domain models are concerned.
But when we turn around and signal SaveOrUpdate(...) to the session, we are finding the errors (see github discussion).
So... is our recourse to run without cache, and do the delete reconciliation manually? This was the same with EF. Or if there is a better way of handling it that it just flows naturally with the ORM, we are open to learning about it.
Best...