Not entirely sure, but you may end up with the same forum message being sent more than once if the mailout takes more than 5 minutes to exec. The mailout code is quite conservative, but I suspect that there are a few race conditions that your sleep(6) will make painfully evident.
Possible workaround: have a lock on cron runs, so they never overlap -- take a look at dotlockfile. But bear in mind this has its own problems too.
Hardware and performance
mail spooling
This discussion has been locked so you can no longer reply to it.