Yes you are right you need to loop through the forms collection and look for checked boxes, then their name will be available to you.
However the to to this efficiently you need to be able to destinguish what a checkboxes name might have in it and test to see if it is a check box first. So i tend to name my dynamic fields with a prefix like.
*** Form Code ***
<%= objRSProject("ProjectID") %>" type="checkbox" id="chk_
<%= objRSProject("ProjectID") %>" value="yes">
So when I loop though the form I can pull out the checkboxes test the values and cut the name up to get the original "ProjectID"
for each obj in request.form
if left request(obj,4) = "chk_" then 'we have a checkbox
ProjectID = right(obj,len(obj)-4)
chkBoxValue = request(obj)
'Do stuff with the values
Hope this helps a bit
They say, best men are moulded out of faults,
And, for the most, become much more the better
For being a little bad.