El uso de "HTTP_SESSION_VARS" y session_register está obsoleto y te va a dar muchos problemas. NO LO USES.
Usa los arrays superglobales: $_SESSION
Tu eres quien tiene que decidir como propagar el SID: cookies o URL? .. PHP.net recomienda por seguridad cookeis y por tu "comodidad" cookies también es la mejor opción a costa de tener un cliente (navegador) que acepte la cookie que PHP creará si se le indica.
Para ver que configuración usa actualmente la versión de PHP que usas haz un:
Código PHP:
<?
phpinfo();
?>
Ahí veras un bloque de funciones tipo "session.xxxxx = ....". Si te fijas leistes la documentación de PHP al respecto ya sabras que.
session.use_trans_sid = 0 (ha de esta a OFF/0 para que PHP no inserte el SID en tus links y otros tag's HTML).
session.use_cookies = 1 (para propagar el SID en cookeis, PHP creará esa cookie por tí).
session.use_only_cookies = 1 (para forzar sólo leer un SID válido en la COOKIE y no en el URL eventualmente también si la primera directiva estuviese a ON).
Un saludo,