I see that I can go to More > View Source in the message reading pane to view message headers.
So the problem is, when a sent or received message is copied to a local folder, Icedove doesn't read the headers to tell whether this message is a draft or has already been sent, and thinks every message in a local folder is a draft. Thanks. Mark