I have answered a similar question here: What is the correct way to define many-to-many relationships in NHibernate to allow deletes but avoiding duplicate recordsWhat is the correct way to define many-to-many relationships in NHibernate to allow deletes but avoiding duplicate records
Reading the question and my answer maybe will help you understand what is going on with your many-to-many association.