You do not have to make any replacements besides the ones specified in my post.
The Sawtooth Script function QuestionName prints out the name of the question where the function appears. So when the server sends the survey page to the respondent, it automatically converts this:
<input name="[% QuestionName() %]_order" id="[% QuestionName() %]_order" type="hidden" value=""/>
to this:
<input name="Free_order" id="Free_order" type="hidden" value=""/>
I just use the QuestionName function instead of the actual question name so renaming the question won't require updating the custom code.