I discovered this problem working on the new cue library management functions, and tracked it down to a bug in the seesaw library, clj-commons/seesaw#231
They may release a fixed version someday. In the mean time, I need to add my own confirmation dialog builder that handles ESC properly.