>>ShellExecute will start another program without affecting VFP in any way. You can also call ShellExecute in our shutdown routine, or right before Quit.
>
>And that were the problem lies:
right before Quit means VFP is still executing.
>
>I'll semaphorize the processes to resolve conflicts.
I think the difference between "fox quitting" and "fox out" is almost academic; I don't recall there's any exitcode that comes into existence only when exit is completed. That being absent, and considering the time it takes the OS to launch a new process, I think the sequence would be the same as in a batch: fox would complete the quit before the new process would start.
I may be wrong, though - new process may be quite lightweight, cached or/and have a loader in the tray, and fox may be still doing garbage collection when the new process has already started. Specially if new process's thread is on a different core of the processor.
So unless you can schedule your new process to begin in a second or two, or if your process would specifically wait until some signature property of Fox executable has vanished from the system, semaphore would be the way to go.