I had a similar problem recently that turned out to be our Ironmail Spam filter, essentially we had to check out RBL servers– one was defunct and causing the RBL to time out and the message was being sent through multiple times.
In this situation the headers were identicle except for the last SMTP delivery in each header that was to our Ironmail server– it had the current time of delivery for that copy.
Essentially, the ironmail was dropping the connection but delivering the message. The sending server believed it was not delivered and retried.
What do the headers time stamps look like on your messages, are they the same or different?