Penso che farlo ogni ora ignori un'opzione più semplice.
Un'altra opzione è rimuovere la voce più vecchia ogni volta che viene inserita una nuova voce. Questo elimina la necessità di un cron job che scarichi l'intera tabella, in quanto ciò potrebbe interrompere la chat rimuovendo le voci fatte solo pochi istanti fa che sono ancora rilevanti per la chat.
Quindi, nel tuo sql "addMessage", rimuovi semplicemente la voce più vecchia prima di inviare quella nuova.