Hmm, I think this may be a side effect of using the abort() function under certain circumstances. Okay, different approach without using abort(). Use /stop and /skip attributes in your <block>s to prevent them from running in case the participant responds "No" on the consent question. I.e.
<expt>
/ blocks = [1=screen1; 2=taskblock]
</expt>
<block screen1>
/ stop = [radiobuttons.consent.response=="No"]
/ trials = [1=screenoutpage; 2=checktrial]
</block>
<block taskblock>
/ skip = [radiobuttons.consent.response=="No"]
/ trials = [1=tasktrial]
</block>
<surveypage screenoutpage>
/ ontrialend = [if(radiobuttons.consent.response=="No") {defaults.finishpage=text.screenouturl.item.1;}]
/ questions = [1=consent]
/ showpagenumbers = false
/ showquestionnumbers = false
/ finishlabel = "Next"
</surveypage>
<text screenouturl>
/ items = ("
http://www.myopinions.com.au/Surveys/RewardSurvey.aspx?codes=spsqiogaap&id=<%script.subjectid%>")</text>
<radiobuttons consent>
/caption = "I have read and understood the information sheet and agree to participate in the study"
/ options = ("No","Yes")
/required = true
/orientation = vertical
</radiobuttons>
<trial checktrial>
/ stimulusframes = [1=checktext]
/ validresponse = (57)
</trial>
<trial tasktrial>
/ stimulusframes = [1=tasktext]
/ validresponse = (57)
</trial>
<text checktext>
/ items = ("The consent response was <%radiobuttons.consent.response%>. If you selected 'No' on the previous page, you should not be seeing this.")
</text>
<text tasktext>
/ items = ("This is the actual task.")
</text>
You can test the above code directly here:
http://research.millisecond.com/david.nitz/experiment.web?id=12345