Allora non c'è nessuna informazione utile nella tabella AGENTI.
La query diventa:
$agenteloggato = $_SESSION[idagenti];
SELECT COUNT(*) AS nonletti
FROM comunicazioni
WHERE (id_agenti = $agenteloggato) AND (messaggio_letto = 'no')
Ho messo "no", ma non so nel DB come l'hai impostato. Se è un intero 0/1 modifica la query di conseguenza, ovviamente...