Hola medcol, creo que Php no es lo que necesitas para relizar lo que solicitas , que sentido tiene realizar peticion al servidor cada 20 segundos... en fin, deberias tener un campo en la "tabla mensajes", donde 0='leido' y 1 ='no leido', de esta manera al momento de realizar el refresh, mediante una consulta (select sum) obtienes los resultados, si el resultado es mayor a 0 aparezca el mensaje
Saludos.