Earlier quoted context omitted.
Emulators don't cut it, because the bottom-most complexity layer matters : http://www.loper-os.org/?p=448 http://www.loper-os.org/?p=55 And the ground rules of computer system creation have changed. The reasonably-cheap, high-capacity FPGA now exists, as it did not in the age of the BeBox. It is no longer necessary for a hardware project to generate millions of sales (or any sales at all) in order to be "successful"…
I like your notion of bedrock abstraction. I don't see the connection between it and the idea that emulators don't cut it.
One trivial example: let's say that I want to emulate a machine with 100,000 CPUs. On a quad-core PC. There is a strong pressure to reduce the number of emulated CPUs if possible, to more closely correspond with the physical architecture. This in turn leads the user of the emulator to avoid the kind of programming that would take advantage of 100,000 CPUs. Already the notion that "you can emulate anything" productively falls out the window.
Likewise for type-tagged architectures. (The user always has an incentive to strip away the "unnecessary" tags.) Look at Common Lisp and its "optimize" directives. The result is inevitably that somewhere in the system, there will be "C-style," non-type-tagged code. This is a Bad Thing.