Deberías indicar el código completo .. no se vé donde usas session_start() .. también se vé que usas @ en algunas declaración de variables .. eso oculta los posibles mensaje de error que obtegas, así que si tienes algún detalle por ahí nunca lo veras ..
Cita: Primero hago una lectura de SID, si la hay, y una condición que se cumple si se acaba de hacer un log in:
El SID es el "Identificador único de sesión" .. realmente lo que tu validas no es el SID sino una variable de tu sesión en curso (OK, viene "atada" por el SID .. pero no es el termino a emplear cuando haces referencia a una validación de cierta variable de sesión en tu sesión activa).
Un saludo,