Another way would be, but I can not confirm since I have not tested it yet, again via processes, collect them all after you started via "ShellExecAndWait" method (you need to google for such method, it is not part of pascal).
When "ShellExecAndWait" is finished, it mean that the loader has done its job by finally calling the real_target.exe, now simply compare with the new processes list which have your own application.exe set as parents PID.