El uso de session_register() es incompatible y no recomendado si ya usas los arrays superglobales: $_SESSION.
Es decir .. tus:
session_register('erabiltzailea');
session_register('pasahitza');
session_register('mota');
session_register('id');
NO corresponde! .. usa $_SESSION['tusvariables'] = "tus valores";
Más info:
www.php.net/session
Optimiza tu código al uso de $_SESSION sólo y luego realiza tus pruebas. Debemos partir de un "código limpio" para seguir viendo más problemas como por ejemplos sobre la propagación del SID de la cual no mencionas nada .. ni en tu código ni de como pretendes propagarlo (se "asume" así tal cual tu código presentas que lo haras en cookies o bien que PHP lo incrustrará en tus links y formularios usados .. esto no se debe "asumir"; se debe conocer como PHP en tu caso particular está actuando para ir descartando otro tipo de problemas). Una vez asegurado el correcto funcionamiento de tus sesiones a nivel "básico": crear una sesión en un script y leerla en otro previa redirección bajo la misma sesión por un llink/formulario .. u otro tipo de redirección, ahí se podrá ver otros detalles sobre la lógica del código que presentas.
Recuerda como "observación" que el valor real de una sessión queda disponible en la "próxima" llamada a tu script, una recarga del mismo, .. una redirección a otro .. etc. Ojo con eso.
Un saludo,