Answer
I still would like to know about the server behavior bit in the above post, but I believe my problem is that I am using the value property of a form incorrectly.
Namely, since all candidates would start out with 0 votes, and then I tried to update via a vote, the value would conflict. And in the 'pattern' I discovered was just pure coincidence because candidate id 4 had four votes and when I voted for her (adding 1) it would post to candidate id 5 because the new value was 5.
Just thought this might someone else who is making a similar mistake . . .