Il problema era che ero passato dal mio ambiente di sviluppo locale con IIS5 a un server condiviso con IIS7, IIS7 ha una sintassi diversa per la registrazione dei moduli http, quindi il mio modulo di sessione NHibernate non si attivava, causando il comportamento originariamente descritto.
Per risolvere questo problema ho aggiunto la sezione moduli nel web.config sotto system.web a system.webServer, puoi aggiungere la chiave validateIntegratedModeConfiguration="false" di convalida alla sezione system.webServer che consentirà alla tua configurazione di avere il modulo registrato in entrambe le sezioni in modo da poter avere la stessa configurazione per IIS5/IIS7.