Hola,
Creo que es que con la version 4.3 en adelante, si tienes register_globals a off no puedes "crear" variables con session_register(). Debes usar el array superglobal $_SESSION. Asi que prueba a cambiar:
Código PHP:
session_register('nick');
session_register('password');
por
Código PHP:
$_SESSION['nick']=$nick;
$_SESSION['password']=$password;
Punto 2: PHP no se equivoca, porque usa el session_id que propaga a cada usuario para identificar la sesion.
Punto 3: PHP crea una sesion (es decir, un fichero), si encuentra un session_start() y ese usuario no tiene creada una sesion anterior.
Saludos.