I've played with this for around 30 minutes now and I have tried the following;
1) Create a checkbox and set to true
2) Create a variable, set to true and use it as the checked flag
3) Create two checkboxes with the same id setting one to false the other to true
All of the above works fine so the (only) thing I can think of is that you may have some css or javascript setting checkboxes back to false. This is easy to do if you are using jQuery.
The fact that there are so few replies to this question seems to indicate that others can't seem to replicate your issue either.
Like I said, I'd be checking my CSS and any Javascript/jQuery I have on the page, partial controls, master etc.