El objeto Session es nulo en la aplicación web ASP.NET MVC 4 una vez implementado en IIS 7 (W 2008 R2)

Desarrollé una aplicación web ASP.NET MVC 4 (.net 4.5) que funciona bien en Visual Studio 2012. Después de la implementación a IIS 7 en Windows Server 2008 R2, parece que el objeto HttpContext.Session dentro de mi controlador es nulo. Creé una aplicación de prueba ASP.NET MVC 4 simple para demostrar el problema.

En mi aplicación de prueba tengo un controlador de casa simple

public class HomeController : Controller
{
    public ActionResult Index()
    {
          if ( HttpContext != null && HttpContext.Session != null )
          {
              HttpContext.Session[ "test" ] = "a string in session state";
              ViewBag.Info = HttpContext.Session[ "test" ];
              return View();
          }
          else
          {
              if ( HttpContext == null )
              {
                  ViewBag.Info = "beeeeuuuuu - HttpContext = null!!!";
              }
              else if ( HttpContext.Session == null )
              {
                    ViewBag.Info = "beeeeuuuuu - Session = null!!!";
              }
              return View();
          }

    }
}

Mi vista Index.chtml se ve algo como esto:

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
This is a simple test
<p>@ViewBag.Info</p>

Entonces cuando ejecuto la aplicación obtengo lo que esperaba:

Index
This is a simple test 
a string in session state

Pero después de implementar la aplicación en el servidor web, el sitio web me da la siguiente página que indica que el objeto Session es nulo:

Index
This is a simple test 
beeeeuuuuu - Session = null!!!

La aplicación web se implementa en el sitio web predeterminado que se ejecuta bajo el grupo de aplicaciones de ASP.NET v4.0 (canalización integrada).

Ya he reiniciado ASP.NET en el servidor usando aspnet_regiis -ir, pero esto no ayudó. El estado de sesión está habilitado (en proceso) en el servidor ISS. Espero que alguien pueda ayudarme aquí porque estoy tratando de resolver esto por bastante tiempo.

Muchas gracias de antemano y un cordial saludo.

ACTUALIZACIÓN: También probé una compilación MVC 4 de ASP.NET con .NET 4.0 en lugar de 4.5 y eso tiene el mismo problema. También implementé una aplicación de páginas web ASP.NET (.NET 4.0) y funciona bien (The HttpContext.Current.Session no tiene un valor nulo en el código que se encuentra detrás).

ACTUALIZACIÓN II: También traté de almacenar el Estado de la sesión en una base de datos, que funcionó bien en mi máquina de desarrollo pero tuve el mismo problema en el servidor de producción (HttpContext.Session todavía devuelve nulo).

Respuestas a la pregunta(1)

Su respuesta a la pregunta