As far as I can find there is no property on a MailItem one can access to discover if a MailItem is a draft.
One could check MailItem.Categories and see if it includes Drafts but this seems insufficient because:
Drafts don't have to be stored in the Drafts folder, they can be dragged and dropped into other folders.
The fact that a draft email retains its draftyness even if moved out of the Drafts folder indicates there must be some other way in which a MailItem is marked as a draft, but I haven't been able to find it.
Suggestions?