"CM_WAIT_COMPLETION" would be not reliable, as the user may execute scripts which starts applications
which inturn launch other processes, and one of the first may report an 'done', but the "child-processes" are still running.
In fact, no, it is a user responsibility to wait all created chirldren processes in case if a user parent process is not the TC itself. In case of the TC the ButtonsBar dialоg along with:
[ ] Run minimized
[ ] Run maximized
can add:
[ ] Await command completion
or add respective builtin command to wait a process created by previous command (see details for the Win32 API `WaitForSingleObject` function).
Because TCs chained commands are executed without any check if the command right before
was already finnished, I would just try TCs CM_WAIT to be sure.
This is ugly practice to use a `wait-with-a-timeout` function to wait initially asynchronous operation. It is definitely unrelaible because based on a race condition between constant timeout to wait a process to close and another timeout of a process itself existence.