Without an appserver there are still some possibilities that might work. If the program you are running is looping, for instance a for each you can use PROCESS EVENTS in the loop. Every time progress executes this statement it will handle queue'd events. like keystrokes. If the loop is fast it will not be a problem and it will look like as if 2 programs are running at the same time. However when the window is closed and this procedure is running it might cause some problems.
Also keep in mind that the longer the time between each Process events the slower the window will seem to work.
Another option is start this procedure by opening a new prowin32.exe session without the -b parameter. Then errors from this procedure will appear on your screen. Only if you need the result from this procedure in your window then you will have to find a way to send the result between the 2 sessions. For instance put the result in the database, or have the sessions talk to each other using sockets etc.