I see what you are saying about CANCEL or SUSPEND in an ON SHUTDOWN routine and it seems to makes sense - thanks.
The QUIT should be legal in development or runtime. If it is issued in the middle of a method, is there anything special to know?
Using WAIT WINDOW, I saw that the ON SHUTDOWN command was being executed (in which routine, a CLEAR EVENTS gets issued) but that events did not get cleared. I don't understant it. I replaced the QUIT command with the DO command which ON SHUTDOWN executed and it seems to work fine now except that the method from which the command gets issued completes itself so I put a RETURN following the command. I guess that from this I can assume that CLEAR EVENTS stops event processing but allows the current event (method) to complete execution. I wish I understood why QUIT refuses to work though and why The CLEAR EVENTS in the initial situation fails.