Los datos de la sesión de PHP no se están almacenando

Estoy creando un sistema de inicio de sesión, pero cuando un usuario inicia sesión, en realidad no almacena ninguno de los datos que quiero en la sesión. Incluso revisé el archivo de la sesión, y estaba vacío. Tengo session_start (); En todas las páginas. que mas podria estar haciendo mal Aquí está el código para las dos páginas principales.

el código de inicio de sesión:

<?
if ($DEBUG == true) {
    error_reporting(E_ALL);
}
require "header.php";

require_once "dbinterface.php";
require_once "user.class.php";
require_once "config.inc.php";

$db = new db($DB['host'], $DB['user'], $DB['pass'], $DB['database']);

$u_result = $db->run("select user_id from users where user_name = '" . $db->escape($_POST['user_name']) . "'");

if ($u_result == false) {
    $url = 'Location: error.php?id=8';
    header($url);
}

if (count($u_result) < 1) {
    $url = 'Location: error.php?id=3';
    header($url);
}

$user = new user($u_result[0]['user_id']);

if ($user->match_password($_POST['pass']) == true) {
    $_SESSION['authenticated'] = true;
    $_SESSION['user_id'] = $u_result[0]['user_id'];
    $_SESSION['user'] = $user;
} else {
    $url = 'Location: error.php?id=4';
    header($url);
}
session_write_close();
header('Location: index.php');

?>

El encabezado que se incluye en cada página:

<?php
if (!session_start()) {
    $url = "Location: error.php?id=13";
    header($url);
}
?>

Un poco de fondo:

Windows 7 (también probado en windowsservidor 2008, pero actualmente en 7) PHP5 problema localmente alojado está presentePara todos existe un problema en todos.navegadores