The issue is hitting Send while Mail is saving the updated draft to the server. It happens most of the time when sending attachments, large ones are the biggest culprits.
There are three fixes...err...workarounds for this:
a) Uncheck "Save Drafts to Server" <–– This is hands-down the easiest way to avoid this annoyance.
b) Wait for the updated draft to save to the server before hitting Send. <–– Open the Mail Activity window on the bottom-left of Mail, underneath the Mailbox List. If there is a progress bar showing, wait until it is finished before clicking "Send."
c) Use webmail to send anything that has a large sub-20MB attachment.
I've had this annoyance with iCloud, MobileMe, Yahoo, and Gmail. The problem isn't the IMAP server but rather Mail trying to stop the draft save while being sent. My guess is Apple engineers decided to err on the side of a duplicate message rather than delete it just in case the connection is interrupted, the end user doesn't lose the e-mail. Apple is known to make these types of design considerations so it would come as no surprise if this was one of them.
Anyway, you can test it for yourself: Compose an e-mail, attach a document somewhere between 10-15MB in size (with attachment). Open the Activity Monitor (not to be confused with the one I mentioned earlier), it's located under the menu bar "Window > Activity Monitor" and place this window to the side where it can be seen outside of Mail. Draft a composition, wait for mail to start sending draft change to the IMAP server. If you click Send on the message anytime before the draft is completed transferring, the mail will send, and you will have a duplicate Draft copy on the server.
It can indeed happen when drafting a large e-mail with no attachment but it's rare to hit Send at the same time the updated draft is being saved to the server.
Hope that helps!