The parent comment is an excellent piece of analysis, but I want to comment on just one minor side point, which is that mailed-in ballots should be preferred over software-controlled ballots.
For the life of me, I cannot fathom why here, among the slashdot crowd of all places, is paper considered an ideal medium for counting anything. Do we not understand black-box testing? Do we not build in test assertions at every step, so that we can test our machine with another machine? Can we not imagine how horrific it would be that instead of automated tests, we printed out our assertions on a paper form, filled them in by hand, then hand-tallied the results after each build?
Now take all the issues with managing hand-written slips of paper, and magnify that by 2 because now you have to transport them by mail -- put them in an envelope (don't miss any!), put a stamp on it (don't forget!), pick them up and put them on a truck (did you get all of them?), etc., etc. Would you trust your critical data to a transport layer that didn't have guaranteed delivery? I thought not.
Humans stink at repetitive tasks, THAT'S WHY WHY WE INVENTED COMPUTERS. The ultimate repetitive task is counting, so let's use it, not go back to the Stone Age of paper.