Vengo a meter mi cuchara porque:
Antes de session_start() estás enviando código HTML, sí, son comentarios, pero eso es suficiente para que el navegador inicie el renderizado de la página e ignore la creación/lectura de cookie que se requiere para identificar la sesión.
Si quieres mantener todo documentado y con comentarios, debe ser:
Código PHP:
Ver original<?php
// Inicio de sesión
// No se debe enviar ni siquiera un espacio antes de la siguiente línea