Sbagliato, d'altronde bastava leggersi il manuale
value = cdata [CA]
Questo attributo specifica il valore iniziale del controllo. È facoltativo, eccetto quando l'attributo type ha il valore "radio" o "checkbox".
Il manuale dice anche che l'unico valore in grado di definire se un campo checkbox o radiobutton è selezionato deriva dallo stato dell'attributo checked.
Il problema è che l'attributo checked non viene visto lato server dove prevale solo il valore in value che normalmente è on (proprio on, non 1 o true) e nullo come non esistente per i campi non selezionati.
Insomma un mezzo casino