La cuestión es que si inicialmete el checkbox estaba marcado y lo desmarco, no pasa la variable ident[DNI] de ese registro por el formulario y por tanto el bucle foreach no puede leer esos valores no asignados y los valores de los registros cambiados a OFF siguen en ON.
He probado ha hacerlo con botones de opción y aquí no hay ningún problema, sólo que queda más elegante con las casillas de verificación. De todas formas gracias por tu interés y ayuda,
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
Saludos