There's actually lot to be said for that. Protected memory mechanisms back on the early 286 CPU's were documented as debugging tools, as they would trap illegal memory accesses, point to where they're occuring, so the software could then be fixed. Assuming all-correct, trusted, and playing-nicely-together software, being able to remove protected and virtual memory mechanisms could actually make a lot of things run a lot lot faster, although of course with downsides too, such as losing automatic copy-on-write memory pages that makes other things run much quicker (like fork()ing). I seem to recall that much stuff that's been launched into space will often do away with memory protection mechanisms as it makes the silicon much simpler.
If we had the man hours to put into the software that would be great, but, it's cheaper to protect against human error (and malace) instead by using software and circuitry. This is often resisted as many feel the desire to Do It Right, but then you get things like probes on Mars deadlocking, and kernel guys going "let's just implement priority inheritance to get it working". I seem to recall Linus being resisant to priority inheritance in the Linux kernel, but eventually an implementation did get in (http://lwn.net/Articles/178253/). Whilst this may not be Doing It Right, it is definitely Doing the Right Thing.