La variable de servidor HTTP_REFERER es así su funcionamiento .. NO es para nada "segura" ni todo navegador e incluso proxys y otros dispositivos de red entregan dicho dato .. Incluso si estás llamando a páginas desde javascript y window.open .. tampoco obtienes el "referrer" con todo navegador (IE creo que no lo dá ..Opera parece que sí . o Mozilla .. no recuerdo).
Lo que puedes hacer .. es tomar el nombre de tu página actual (PHP_SELFT) y propagarlo a mano en el URL en tus Location
Ejemplo:
Código PHP:
<?
header ("Location: nose.php?mireferer=".urlencode($_SERVER['PHP_SELF']));
?>
y en tu nose .. tendrás el $_GET['mireferer'] para usarlo como la página referida... Por lo menos así debería funcionar hasta con redirecionamientos que hagas javacript .. o abras ventas siempre y cuando lo propagues tu a mano.
Un saludo,
Curiosidad:
¿Por qué no puedes usar sesiones o cookies?