Non l'avevo capito, potresti controllare gli utenti connessi al sito tramite il database e non tramite le sessioni
lo faccio già, solo che divido in utenti registrati on line e utenti non registrati on line..
ho una tabella del db in cui registro l'id della sessione e la tipologia di utente con quell'id, per fare separatamente una count(*) degli uni e degli altri...

Oppure un modo un pò bruttino, ma ti porti dietro un parametro in get che ti serve per controllae se la pagina viene refrescata, se presente non modifichi l'id di sessione, se non presente fai una nuova sessione.
ma se session_start() va per forza mettesso prima di ogni altra cosa non posso usare questo metodo, perchè inizia una nuova sessione prima che io possa controllare il parametro che mi arriva da quel get. se fosse possibile fare una cosa del genere a quel punto potrei fare un controllo su una variabile di sessione, anzichè sul get..