By default the ‘wait’ command spawns a child process, waits for the process to complete, and provides the process return code back to the BES Client where it can be referenced as ‘exit code of action’.
In contrast ‘run’, by default, creates a new detached process, does not wait for the process to complete, and continues running the next ActionScript command (or completing the action) while the spawned process may continue running in the background. When using the ‘run’ method we do not have access to the spawned process’ return code (and in fact that process might still be running after the Action completes).
I’d have to check the behavior in your instance, though, as you are overriding the defaults with the ‘override’ command. I’m not certain of the behavior of ‘run’ with ‘completion=job’. I’m also not sure I understand from your posting which behavior you are seeing, and what behavior you expect to see.