I have to correct myself concerning the script option copy. I did a small test by myself and found the reason. Ok, here we go:
This is the starting point:

Then the workbook script with condition 'Execution when a value of the second column is changed':
aa$ = page.name$;
type Processing workbook %(aa$);
if (aa$ == "Book2") {type Double execution!; break;};
type Start workbook copying...;
wcopy [Book1]1! [Book2]1! a:=0;
type Copying finished!;

Note the entry part of the script. You have to check, whether the copied workbook/sheet is processed. Alternatively, one could delete the new created sheet at the end of the script.
NOT DOING SO RESULTS IN A CRASH OF ORIGIN!!!
That is what the script window responds:

As can be seen, the script is executed a second time. If it was not halted, Origin would crash because the sheet processed would be overwritten by the wcopy command.
And the final result looks like this:

Note that although the activate option is set to zero, the target book/sheet is activated. Probably due to the execution of the script...
Therefore it would really make sense to implement a switch controlling the script copy as you suggested. Suppressing the condition check while script execution on the other hand seem to me NO solution, since this restricts program variability too much (conditionally chained script execution - you can program really nice things with that!).