Unfortunately I'm not good enough with SQL statements to resolve your issue using your existing code. It's not that using DoCmd.RunSQL won't work or that it's the "wrong" way to do what you want, it's just not how I'd do it.
I prefer to do things programmatically rather than through SQL.
That said, I'd be happy to take a look at your code and see if I can do it my way. If you're not that familiar with VBA though, it might not be as easy to update.
However, I did notice that you're using a temporary Table to store the answers in. Have you considered pre-populating the Table with all the questions at the start of the survey? Then, as the user answers them, you can just run Update Queries. It would also likely solve your problem since you could just run the following Query when the user decides to skip an entire section:
Code:
strSQL = "UPDATE tblTEMPSurveyLongResponse SET LongResponse='" & _
LongResponse & "' WHERE SurveySectionID=" & SurveySectionID
DoCmd.RunSQL strSQL
This is assuming that SurveySectionID contains the value you've assigned to this section (and that your sections are identified by numbers, not by text).