La verdad que no entendí nada, pero creo que la solución al problema tampoco es la correcta, porque un grupo de checkboxes es una colección, mismo nombre, diferente valor.
<input type="checkbox" name="checkbox" value="1" />Uno
<input type="checkbox" name="checkbox" value="2" />Dos
<input type="checkbox" name="checkbox" value="3" />Tres
Al momento de hacerle un submit a tu forma, cuando recuperes mediante el método Form del objeto Request, este valor, si hay mas de uno seleccionado el valor será separado por comas.
Código:
checkbox_seleccionados = Request.Form("checkbox")
Response.Write(checkbox) 'Si se seleccionaron el checkbox 1 y 3, entonces el resultado de esta operación será 1, 3
Por lo extenso del post la verdad ya me perdí y no entiendo que es precisamente lo que quieres hacer ni el nivel de conocimiento que has adquirido acerca de este tema...
Pero creo que la pregunta inicial era mostrar o no mostrar registros en base a UN SOLO CHECKBOX, con lo cuál la lógica propuesta por tammander es correcta, ahora si quieres trabajar con más de un checkbox el tema cambia un poco.
Ahora, tampoco entiendo la razón para usar un for each para este particular, si con un simple request con el nombre de tu checkbox es suficiente.