Mám pocit, že to dělat každou hodinu ignoruje jednodušší možnost.
Další možností je odstranit nejstarší záznam při každém novém záznamu. To odstraňuje potřebu úlohy cron, která vypíše celou tabulku, protože by mohla přerušit chat odstraněním záznamů vytvořených jen před chvílí, které jsou pro chat stále relevantní.
Takže ve vašem "addMessage" sql jednoduše odstraňte nejstarší záznam, než odešlete nový.