The issue: on Windows, at least, hitting the Esc key when a Custom Dialog is up will have the same effect as choosing the Default button.
What the user expects: Esc key should always CANCEL the dialog.
Idea: we currently have a "Commit data" checkbox next to each button. What if we had another checkbox to flag a button as a Cancel button. Then, when the Esc key is used, it would return as Get(LastMessageChoice) the button flagged as the Cancel button.
Alternative (maybe simpler) idea: treat the Esc key in a Custom Dialog as if the user canceled the script. Then we could error trap for it and deal with it.