If a user has several messages stored (more than 1), and says something, the bot will flood the channel, which causes annoyance by other users in the channel. It might even kill itself if enough messages are stored, though that is based on assumption, not on experience.
Suggestion for improvement:
If more than 1 message is stored, instead of saying the message, the bot should say something like: 'Hi $nick, I have $count messages stored for you. Please type "/msg $botnick messages list" to view them'. The bot should then respond in a query with the stored messages.