Electronic voting systems cannot ever be verifiable by an end-user at the time of voting and so shouldn't be used for important votes.
A person filling out a paper ballot can easily verify the whole system (assuming they can witness the count), where-as an electronic system is almost totally intangible and leaves the voter to rely on unknown persons to verify the system.
Having an open-source code base does not improve electronic voting if the end user (my 80 year old granny) cannot verify that at every step her vote counts.
How can she know that the current, approved code was compiled using the approved compiler, installed by approved persons using proper methods, by a malware free pc, on approved voting hardware, which was handled and stored in an approved manner, and so on.
With a paper ballot all you have to do is check the paper is clean, mark your choice and place it in a box with the others.
Paper ballots are robust to recounts, 3rd party verification and voters are familiar with the system so little instruction is needed, preventing errors by novice users.
In the end voter confidence is what counts, not a drive for technology for the sake of technology.
NB. Hanging chad like problems and choosing the wrong candidate are UI/user error problems and both can occur in both paper and e-voting.