Well, it appears that I have managed to fix my own problem.
What was happening was that Cyrus IMAP was rejecting any mail that was a duplicate (though I'm not sure why it was letting some of the mail through), this can be turned off within the imapd.conf file by adding
Code:
duplicatesuppression: 0
where it is usually defaulted to 1.