Well, are you talking about doing a "On Error Goto ErrHandler" type thing. That I am familiar with but I don't know if that is the same thing as "trap handler"
Exactly the same.
A trap is like a device driver's interrupt handler, but in this case, the "interrupt" is generated by software inside the Access run-time environment (RTE). Usually, by the error-checking elements of the RTE. When there is an error, the RTE intercepts it and "signals" a trap. The RTE then looks at the current context (i.e., what subroutine you are in) to see if an "On Error Then Goto xxxx" is in effect. If so, xxxx is going to get control and have the chance to look at Err.Number and Err.Description to see what went wrong.
My earlier discussion about "unwinding" the call stack is because if you don't have a trap handler, the current context cannot handle the trap. That means the system has to "blow off" the context of that routine and look for a trap handler in the caller of the original routine. And if that fails, the caller of the caller and so on until the entire stack is blown off looking for a trap handler. I believe that for VBA, since you cannot write a MAIN routine like you would with "regular" Visual Basic, your code will always be called by the RTE. So if your code has no trap handler but encounters a trap, the RTE takes the trap for you - but aborts everything you've been running.
As to the differences between Application.Quit and DoCmd.Quit, I think it would be important to determine which, if any, events actually fire. After doing a Google search, I see that there is a third player depending on the version of Access you are running - Access.Quit. There is also a "Quit" option in Macros. I wonder which one of the choices that one maps to if you convert it.
Some symptoms reported are that sometimes Access stays open even though the .MDB file closes IIRC, Application.Quit is the new kid on the block because the application object wasn't separately visible in older versions of Access. I've seen some Ac2007 issues that seem to indicate that I've got this problem too, but just never noticed it unless I happened to have Access open on two databases at once as separate windows. (I.e. not as an FE/BE split case.)
I can't research this right now as I have some other stuff I need to do, but I'll put this on a back burner and see what I can find.