The problem is, I do not believe the U.S. government even recognizes the concept of 'dual citizenship'. A citizen is a citizen. The government never asks, say Canada, "is person X also a citizen of Canada?" As such, there would be no way to actually enforce that. The only way you could combat 'dual citizenship' would be to have an international registry of citizens of each country that would probably need biometrics in order to cross-check between countries. I'd say that is a 'cure' worse than the disease. A simpler solution would be to simply allow only service members and diplomatic staff to vote through mail-in ballots.
When an immigrant becomes a USCitizen, he does not have to turn in his previous passport. Likewise, when an expat becomes a citizen of a foreign country, he can travel on either passport each trip he takes. The oath of citizenship reads like you give up allegiance to any other country, but,in actuality, you do not have to do this these days.