La idea de las sesiones es que siempre las corrobores en todas las páginas. En otras palabras, todas las páginas tienes que haber declarado algo así
Bueno contestando por puntos.
1. Cuando te refieres otro navegador (para estar seguro), ¿te refieres a que por ejemplo abrió con Firefox la primera vez y luego con opera la segunda y se pudo loguear? Si es así, entonces no estás haciendo correctamente la verificación. Porque es imposible que un navegador totalmente distinto pueda ver el SID que se creo en otro navegador.
2. Esta no la entendí bien. Tendrías que replantearla mejor.
3. Ahí debes verificar la configuración del php.ini. En la directiva que dice
session.cookie_lifetime y colocar un valor 0. Si lo deseas también puedes en todos los archivos de php, colocar una línea adicional para configurar ese valor así cuando pruebes en diferentes computadoras no tengas que cambiar el valor del php.ini. Eso lo puedes lograr de dos formas.
o
Estos dos ejemplos deben ir en todas las páginas.