Por que necesitas leer 2 veces la cookie?, no basta con colocar el codigo una vez antes del <body>
Código PHP:
<?php
codigo para leer coookie
?>
<body>
<? zona_superior (); ?> --> [I]esta es la funcion que implementa el menu superior y que tiene el codigo para reconocer las cookies, pero que no lo hace
-- sigue html----
<? codigo para tratar las cookies que aquí si funciona. Es el mismo que el que esta implementado en la funcion anterior ?>
La funcion zona superior podria recibir como parametros ciertos valores en lugar de leer la cookie ella misma.