¿Pero por qué dices no te pasa el SID??, ¿cómo es que la sesión "se pierde"?.
Lo mejor será que muestres el código de dónde inicias y declaras las variables de sesión tanto como en donde recuperas la sesión y variables y seas un poco más descriptivo en cuanto a el comportamiento indevido.
Un saludo!
-- Edito --
-> Por cierto: si
cabeza() crea algún HTML (así se puede deducir) temo que es un error; no puedes tener ninguna salida antes de un header() --ni se session_start(), pero no es tu caso--. Además, siempre es recomendable hacer un
exit inmediatamente después de dicho header("Location:...").