Buongiorno,
da quello che leggo, la funzione session_start() dovrebbe creare una nuova , oppure caricarne una esistente, nel caso l'id, passato tramite cookie coincida con quello di una sessione già creata.
ho provato a scrivere un semplice script:

Codice PHP:
session_start();
if(isset(
$_SESSION['login']))
{
    echo 
"Bentornato ".$_SESSION['nome'];
}
else
{
    
$_SESSION['login'] = true;
    
$_SESSION['nome'] = "Giacomo";
    echo 
"questa &egrave la tua prima visita, o no?</br>";
    echo 
session_id();

quello che succede è che l'id di sessione varia ogni volta, e quindi non entra mai nell'IF.
i cookie sono abilitati, e ho provato con 3 browser diversi.
come mai?
Grazie