> if I press control-Q rather than selecting no in the consent or performing poorly, it skips ahead to the next script
That is correct (and the expected behavior). CTRL+Q will terminate the currently running script (similarly, CTRL+B would terminate the currently running block in the currently running script and move on to the next block).
> This is problematic as it is critical people can't perform the task without consenting and completing the practice.
Two thoughts: Unless explicitly made aware of the CTRL+Q key combination, most participants would not know about it and thus instances of the above should be rare. Any occurring instances should also be identifiable by various means: In most cases, you'd find CTRL+Q logged in the respective data file's response column, or the data file would be evidently incomplete or missing entirely (e.g. when skipping over the training script). I'm not sure whether that's enough to alleviate your concerns, but it's worth pointing out.
> Is there any way to make the running of a script in batch dependent on the completion of a prior script,
No, I at least cannot think of any way to define such a dependency given currently available features.
> or do you recommend any other solution to this problem?
You would have to abandon the separate scripts / batch approach, and instead fuse the three components -- consent, practice, and experiment proper -- into a single script. While this would enable you to terminate the procedure fully in case any of the criteria (no consent, underperforming during practice) are not met, it would however not necessarily resolve the issue entirely: A participant willing to "cheat" could still use CTRL+B to e.g. skip over the consent or practice block(s).
Hope this helps.