You should never execute code without evaluating it first.
Since a checkbox has only two possible values a simple if...else eval will do just fine.
Smth like:
strSQL = "INSERT INTO tblHome (memberID, towncity, towndistance, towndirection, propertytype, flatfloor, flatblock, nobedrooms, nobathrooms, maxnoofpeople, carneeded, carexchange, smoking, swimpool, petcare, childrenallowed, plantcare, additionalinfo, picture)values ('2', 'London', '15', 'SE', 'Flat', '3', 'CC', '2', '2', '4', "
fields = Array("carneeded", "carexchange", "smoking", "swimpool", "petcare", "childrenallowed","plantcare")
For i = 0 to ubound(fields)
If Request.Form(fields(i)) = "on" Then
strSQL = strSQL & "on, "
Else
strSQL = strSQL & "off, "
End If
Next
strSQL = strSQL & "'Hello', '')"