You should add some error handling/logging into your script, such as creating a token somewhere (easiest copying a text file) or even writing to the Application Event Log. Basically, if a .cmd fails, you won't see it as a fail in the job history, because a .cmd will always just do a successful exit under most circumstances, since cmd doesn't really pay attention to what you are having it do. If the programs themselves are failing, they would be the one to generate the error, not cmd, which is why it doesn't "fail" in the log.