Вы можете установить опцию каскадного удаления сирот:
HasMany(x => x.Children).KeyColumn("ParentId").AsBag().Inverse()
.Cascade.AllDeleteOrphan();
Чтобы сделать это, вам нужно удалить дочерний объект из родительской коллекции и очистить сеанс:
using (var txn = session.BeginTransaction())
{
parent.Children.Remove(child);
txn.Commit();
}