One possible "solution":

Keep the error messages in english and make some special hidden window that can be always brought up with some key combo or whatever. This window would log in all the more cryptic data, but no hex dumps, I mean stuff like where the error occured, what was being done just before that (in such way that you can understand it if you are techie, not a MS guru or developer of the crashed driver).

I imagine that for most 3rd party code around running in average users computer, it would not be too high performance penalty to include more "debug data" in the retail builds for allowing such a log window to show a bit more detail than what the event viewer is showing.

Kind of like when you start up Linux, you get a lot of tech data which can help diagnose small problems, average joe may not understand it, but there's a lot more people who understand it than there is people who understand what some hex dump of memory contains. Even though I have been heavily involved in computers since C64, the only information I usually understand of the windows error technical data is what driver for example the problem occured, if it is even shown. In these cases I usually have to apply my long experience in computers to make educated guess what might have caused the error. A detailed log window could save hours of guess work.