after the collect statistics command would most likely fix the issue, but I wouldn't recommend that. The best approach would be to make sure that Data Stage is not calling the SP as part of a transaction (if you achieve it some how) or to make DS launch a bteq script (which has the call to the SP) once the DS job is finished. (I have seen the later approach in a few places in the past, though it would have only some simple collect stats commands... do you really need a proc to do this ?? )
I have spoken with the DS user about your's last two suggestions, but it has not know to say me nothing about the first. About the last i tried to built a macro with one collect statistics statement and it chek ok in teradata, but ds user does not succeed to launch it.
So i think that BT;ET statment is the best way form me :-)