Good question, I've wondered about that myself...but using the panel close event is sufficient for the purpose you mention.
If the exit function is run it's done in the code so you can code in things to do prior to it happening...The problem used to be panel closing using the X, but now that too can be intercepted. Just discard the event and run all the exit operations instead...then close all windows.
Closing by running the quit labview function results in a flash on the screen as the VI(s) stop and show their toolbar for a split second prior to closing. Not very elegant. So for built applications the best way to close is to do it by closing all the windows, then the application will quit nicely (off course, make sure you do all other exit operations; fil
e saving, port closing etc. prior to closing the final window).