Most innovations fail because they do not integrate in the existing chain. Radical change can be accepted if, and only if it has extreme potential (orders of magnitude), because the existing methods are continously improved by small steps as well.
"First of all, you can't use heap - not when you're in orbit. Why? Because quite simply, if you do use heap, and malloc returns null... what do you do? You can't ask the user for help"
This is the OOM problem and is highly dependent upon the kernel you are using. Not bringing the kernel into the discussion means that the discussion is just silly. There is not much of a point to putting the heap in the stack as you said, but hey like the author we are just getting some ideas out there without bringing up the kernel.
The article is just an example of the notions used, and how objdump can be used to enforce them. Linux is used simply for demonstration purposes.
In your average PC with Linux/x86, it is clear that you fear neither stack nor heap error - you just restart the app :-)
Also, for a truly stackless CPU, look at system 370 (and, I guess, most other machines predating Algol)