This highlights what is in my opinion one of the biggest failings of modern operating system/GUI design (this and modal dialog boxes, but don't get me started). We are used to interacting with things in a physical world. When they fail it's their functionality that fails not their interface. If your DVD player breaks you can still push the buttons. Even if your computer breaks you can still press the keys, but when GUI apps break the interface itself stops working, and given all the work that has gone into helping you to believe that GUIs are just extensions of reality it's like reality stopped working.
I have always felt that GUIs should run in their own nonblocking thread at the system level so that you can still use the interface to interrogate the functioning of the program. I try to do this in my own programming. Even if the brains die, buttons still push, the focus still changes the menus still drop down, no bazar interaction queueing and if it's expectd behavior the app could respond by providing info like a waiting on IO light. If it's unexpected then the lack of response would be telling. As it is no information is communicated.