Io vengo da php e utilizzo un array
<input type="checkbox" name="ciao[]" value="X" />

In questo modo recupero, tramite post, l'array ciao[].
Se non uso quest'accorgimento, l'ultima variabile valorizzata è l'unico valore che mi trovo. In Asp.net dici che non funziona così? Mo provo.