Hi James,
I am glad to hear that you have similar problem but I have been stuck in this for quite sometime and like you mentioned sometimes they get email and sometimes they don't.
After researching for sometime what I found was that the problem was with my SMTPServer. The reason was because we have Exchange 2007 Server which was acting as SMTP server. Therefore, I think windows wasn't really in sync with Moodle I don't why but there was some configuration problem within exchange which I wasn't able to find and fix.
And the way I actually found the problem was to changing SMTP config to google's SMTP server. I think you can try it too, if you still have this problem.
smtp: smtp.google.com:465
user: (put your own username)
pass: (put your own password)
I tried this and it was working fine, teachers were receiving email and students too and it was very fast as well.
Therefore, we decided to create a Postfix based SMTP server just for moodle. I have finally finished install SMTP server and I did a bit testing and it was working fine though our mailgaurd seems to block few emails but thats fine. I will do full and final testing let everyone know.
I don't think it moodle version has anything to do with this as I am using Moodle 2.3.4
Hope this was helpful, Let me know if you have some other solution and need my help
Thanks.