Cascata Muitos-para-um do NHibernate

Eu tenho as duas classes abaixo:

public class Project
{

    public virtual int ProjectId { get; set; }
    public virtual string ProjectName { get; set; }
    public virtual LegalEntity LegalEntity { get; set; }
}

e

public class LegalEntity
{
    public virtual int LegalEntId { get; set; }
    public virtual string Name { get; set; }
}

com mapeamentos como:

<class name="Project" table="Project" dynamic-update="true">
  <id name="ProjectId">
    <generator class="native"/>
  </id>  

  <property name="ProjectName" />
  <many-to-one name="LegalEntity" column="LegalEntId" fetch="join" cascade="all-delete-orphan" />


</class>

e

<class name="LegalEntity" table="LegalEnt" dynamic-update="true">

  <id name="LegalEntId">

    <generator class="native"/>

  </id>



  <property name="Name" />    

</class>

No banco de dados, a tabela Projeto possui uma coluna de PK para LegalEntity. Um projeto terá apenas uma entidade legal. Projetos diferentes podem ter a mesma entidade legal. Então essa é a razão pela qual eu escolhi muitos para um. Não tenho certeza se isso está correto.

Inserir e atualizar está funcionando bem. Mas se eu atualizar um ID de entidade legal em um projeto e essa entidade legal se tornar órfã, quero que ele seja excluído. Mas isso não está acontecendo. Estou errado ao entender excluir tudo órfão? Se sim, como posso conseguir esse comportamento?