I have the same problem. Basically the only solution we were able to come up with was to run the DOS programs thru PIF files and use a Delphi Menu program to call each PIF file. The Delphi program keeps each DOS program from running more than 1 time.
A problem is a problem only as long as it has a possible solution. Lacking that, it becomes a FACT!