If you see the error message "Failed to read messages." in the event log but some emails are being sent then it is likely rogue dateabase entries are stopping some messages going out.
To fix run the following SQL statements:
delete from tps_user_message where tps_guid not in (select tps_user_message_guid from tps_user_message_recipient)
delete from tps_user_message_recipient where tps_user_message_guid not in (select tps_guid from tps_user_message)