and I don't know of any 'official' answer, but this is what I think.
It all started "Way back when....".
In the early days of computers, (think, Colossus), programmers were people who used to think in binary. They created their own programming and trouble-shooted in the same language that they programmed the computers. No-one else understood what they were doing and that didn't matter. They produced results and were thought of as {eccentric, slightly unbalanced} geniuses.
Us mere mortals would never even have dreamed of 'using a computer'. It wasn't until the late 70's or early 80's that personal computers became available, but by then the system had set in stone. Leave the programming to others, don't mess about, just use it to play games, write a letter, and so on.
What you want is called "Error Trapping". I've done a bit of binary programming myself and I will tell you, the frustration in starting from scratch, testing, and seeing the program lock-up for no apparent rhyme or reason, starting over and trying to error trap, is something that can only be experienced to be believed. The very fact of inserting code to error trap mistakes can cause a program to fail in innumerable ways. So, once I had managed to get a program to work, the last thing I wanted to do was to return to the code and attempt to insert 'interrupts' and sub-routines that would give messages to explain what and where had gone wrong.
Programmers today are much the same. It works, so they pass it on to others to fit their bit of code in to the overall software, and if those others wish to be bothered, to try and add error trapping routines. Most software today is off-the-shelf, meaning they are collections of code that can be plugged into the full software, and trying to error-trap those is a nightmare.
What you say could be done, but it would be very difficult, and would increase the lines of programming code astronomically. I believe that Windows 95 contained some 65 million lines of code. Later Windows versions increased that by factors of 10. Trying to error-trap all of that would double the code, and if nothing else, would be economically wasteful.
Add to that, Windows doesn't do everything. All of the software that gets installed is produced by other developers, and it is those that enhanced what we think that Windows is doing. It only needs a small error somewhere along the line for whole systems to fail. All computers are different and it would be nigh on impossible to effectively do what you ask.
What we are able to do with Windows and with other operating systems, is to learn how things work, and find out the signs and warnings, and gain experience. That is part of the wonder of working with these machines. However most users just want to 'turn the key and drive off' without ever understanding what is under the hood.
Mark
I am wondering if anyone has an answer to a question I have been asking myself and others for many years, without any useful response:
Why is it that no software company on the planet has produced a diagnostic program that will tell you in plain English (or any language) what your processor/HD/memory etc. is up to at any moment in time? Is it really that impossible to do?
Like others, I have been through many frustrating hours over the years trying to work out why my hard disk is constantly churning away or what my PC was doing when it froze or crashed. When I ask this kind of question on forums, the techies jump out of the woodwork and tell me that if I look at a certain file buried deep in the bowels of my PC, there is a string of gobbledegook which tells the initiated what happened to my PC before the crash, but what would be really nice is a simple little window intended for humans which says "your PC processor is doing x and now it is doing y".
If you know why your PC is misbehaving, then you are a long way towards solving the problem. "Ah yes, that irritating piece of free software I installed is auto-checking my entire hard drive for any music files I have added in the last day...DELETE". The solutions in my experience are rarely found by making guesses at the source of the problem, which seems to be the only hope for solving these kind of issues. Why?

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic