It's a truly annoying bug, but one that doesn't hurt if you aren't using .prg files outside the current directory. I don't really have that much code in .prg files anyway. Most of my code is in classlibs or forms at this point. For me PRGs (especially those out of the current directory) are mostly used for small UDFs, and those are easily debugged outside the app development.
So a slight change in your directory architecture would make the problem go away.
Here's a message that Mario Brodeur posted a couple of months ago it might help:
=======
I found the problem. When you cancel the program from the debugger (Red button or Cancel option in the File menu), it doesn't close it. The workaround I found is to click on the green button (run) from the debugger and cancel from the error message in VFP.
>I believe what you say since I have experienced it firsthand, but even so my reaction is to say that this just can't be true. There has got to be a fix for this. All I do when I am developing is get errors. I will have to turn VFP on and off 500 times a day. Anyway thanks for giving me the scoop.