I would say off the top of my head that the memory variables are loosing their scope. Instead of having the control source of the checkboxes set to memory variables don't set the control source at all and just use the "value" property of the checkboxes in your command button. If you are passing the memory variables as parameters to another function instead pass the "value" property as a parameter. Something like:
=MyFunc(thisform.check1.value,thisform.check2.value)
Maybe I'm missing something but I don't see the need for the memory variables.
Rip Ryness
International Falls, MN