I have run seperate loops in the main program that do nothing but check for a press of an Abort button. When the button is pressed, use the "Stop" function from the Application Control palette. This will stop execution of the program wherever it is.
Hope this helps.
Rob