問題は、IIS5を使用するローカル開発環境からIIS7を使用する共有サーバーに移動したことでした。IIS7ではhttpモジュールを登録するための構文が異なるため、NHibernateセッションモジュールが起動せず、最初に説明した動作が発生しました。
この問題を修正するために、system.webの下のweb.configのmodulesセクションをsystem.webServerに追加しました。これにより、検証validateIntegratedModeConfiguration ="false"キーをsystem.webServerセクションに追加して、構成でモジュールを登録できるようになります。両方のセクションの下にあるので、IIS5/IIS7に対して同じ構成を使用できます。