Perhaps your web.config has an error (e.g. sessionState node is not inside the system.web node)? Or value is being set in code elsewhere? Since I typically have session time-outs based on role, I set timeouts in the Global.asax file during the session's start event. Maybe try and set the value there? i.e.
void Session_Start(object sender, EventArgs e)
{
System.Web.HttpContext.Current.Session.Timeout = 60;
}