Intendi dire se il checkbox non e' selezionato non hai la chiave nel post??
Fai il controllo diversamente.... se post diverso da uno allora setti a 0 ( se puo' essere solo 1 o 0).
Ora non so com funziona il tuo sistema di update ma penso che il problema stia nel fatto che se non si cheka non puoi aggiornare quel campo no?? e resta a 1..
Se la tabella e' come penso potresti settare prima tutto a 0 e poi a 1 quelli passati in POST(2 query) altrimenti dovresti fare un controllo dell'array a priori prima del ciclo e vedere quali chiavi mancano e settarle a zero se non esistono.