Hi Rob,
I think I understand what you're trying to do.
If you want the checkboxes to be dynamic, then make 41 local variables, and add the fields in the normal way. Dynamic fields have quite a lot of code generated for them to make the dynamic stuff work. In theory you can duplicate all that, but frankly it's not worth the effort, and your app would be subject to possible regressions as stuff changes.
If the checkboxes are completely static, then their values will be in the Value queue when a form is _saved_. You should handle them in the ValidateRecord routine - copying them back into your string and so on. By inspecting the WebServer procedure log you should be able to see what they're called.
Oh - except that remember that checkboxes that are unticked are typically not included in a Post. (NetTalk knows this, so is able to do it for you for normal checkboxes.) In a normal HTML post only ticked checkboxes exist.
There's a routine generated on a normal form, for checkboxes, called "Complete Check Boxes". It has code something like this;
If p_web.IfExistsValue('FNAM:InvitationOnly') = 0
p_web.SetValue('FNAM:InvitationOnly',false)
FNAM:InvitationOnly = false
End
Cheers
Bruce