I think I have somewhere a patch which introduces the ability to close a dialog with <Escape> or the system close button if there's only one dialog button, or if a -cancel_button or -close_button was specified.
Comment on Re^3: Windows Exit from Dialog Box in Perl/Tk