Имам чувството, че го правя на час игнорира по-проста опция.
Друга възможност е да премахвате най-стария запис всеки път, когато се прави нов запис. Това премахва необходимостта от работа на cron, която изхвърля цялата таблица, тъй като това може да прекъсне чата чрез премахване на записи, направени само преди минути, които все още са подходящи за чата.
Така че във вашия "addMessage" sql просто премахнете най-стария запис, преди да изпратите новия.