Если я правильно понял, то Вам
можно обойтись без events, так как
все у Вас в messages, просто указать
ключ "прочитано", "дата-время".
После на php, при ajax обращении, делать
выборку по не-"прочитано".
Последнее полученное сообщение от конкретного пользователя можно же получить, так же без лишней таблицы,
SELECT * FROM `messages` WHERE `user_id`='1' ORDER BY `Id` DESC LIMIT 0,1;