Problemet var att jag hade flyttat från min lokala dev-miljö med IIS5 till en delad server med IIS7, IIS7 har en annan syntax för att registrera http-moduler så min NHibernate-sessionsmodul startade inte vilket orsakade beteendet som ursprungligen beskrevs.
För att åtgärda detta problem lade jag till modulesektionen i web.config under system.web till system.webServer, du kan lägga till validation validateIntegratedModeConfiguration="false"-nyckeln till system.webServer-sektionen som gör att din konfiguration kan registrera modulen under båda avsnitten så att du kan ha samma konfiguration för IIS5/IIS7.