TOS Checkbox failing if not checked before first submit

I am using the TOS plugin, and on the signup form for new users (via ProSites), if the user checks the TOS "I agree" box and submits the form, all is fine. If however, he does not check the box before submitting the form, when the page reloads with the error for not checking the box, the input value for the checkbox changes from "1" to "0" as shown here:

<input type="checkbox" id="tos_agree" name="tos_agree" value="0" style="width:auto;display:inline">

Because of that mysterious change on page reload, if the user then checks "I Agree", the form still submits a "0" in the POST field as if the box was not checked. I searched the entire TOS plugin code, and there is nothing that would change this html value attribute, so I am at a loss. This is a serious bug. Any patches or ideas on how to fix it?

P.S. I noticed the use of a hidden 'tos_agree' input with a value of "0". I made sure my php still interpreted the use of two inputs with the same name by testing it, and it does. It also does not change the value attribute of the checkbox input. Therefore, the TOS plugin code looks sound. The problem must be elsewhere it seems to me.