I don't see how there is anything fundamentally different between voting machines and search engines as far as the morality of closed-source goes.
For a voting machine, I'd say it is immoral to have voting systems that are unreliable or unverifiable. The problem of making a reliable and verifiable voting system is mostly orthogonal to the open/closed nature of the software in voting machines.
For open-source voting machines, how does the voter know that the binary code running on the machine they are using is actually compiled, unmodified, from the right source? Even if they can somehow determine that, there is still the possibility of bugs.
To get reliable and verifiable voting system, what you need to do is design the system so that if the voting machine software does not count votes correctly that will be detected elsewhere in the system and can be corrected.
An example of how to do this is David Chaum's "Punchscan" system, or it's successor, Chaum and Ron Rivest's "Scantegrity II" system.