phpのexec()コマンドでcmd.exeを起動してサーバー上のバッチファイルを実行するプログラムを書いて動かしていました。
ところが、バッチファイルに組み込まれた外部プログラムのバージョンが上がったために、エラー終了するようになりました。

exec()コマンドを使わずにバッチファイルを直接起動するとエラーもなく動くのですが、ブラウザ上からキックしたいので、そういうわけにもいきません。
結局バッチファイルそのものをタスクスケジューラに登録して、以下のコマンドをexec()で行うようにしてみたところ、望み通りの動きになりました。
schtasks /run /tn [batchfile_name]