Certainly it is possible to pick examples where 32 registers is more effective than 16 - but equally we can pick examples where 16 registers is more efficient (such as context switching, or code with a lot of small functions). Examples are illustrative, but not proof of a general rule.
(Regarding more than 32 general-purpose registers, I think the Itanium is the only cpu I know of with 128 integer registers and 128 floating point registers. It needs more registers for its EPIC architecture, but I don't think anyone would consider it an "optimum" design!)
Many load/store machines have some sort of compressed or limited instruction format for greater efficiency (especially of instruction cache). ARM has a couple of "thumb" modes, MIPs have an equivalent, and on the PPC I have seen various schemes.
Even in the full 32-bit ARM set, the bits "saved" by having fewer registers are used for the conditional execution bits and the barrel shifter.
Every bit of space in the instruction set is important. Using them to support extra registers may be the best overall tradeoff in some cases, but it is always a tradeoff.
It's a nice architecture (apart from the backwards bit numbering!). But it is a very complex architecture - for smaller devices (say 200 MHz, single core - microcontroller class cpus) a PPC core will be much bigger, more difficult to design and work with, and take more power than an ARM (or MIPS) core. On bigger devices, caches, interconnects, buses and the like dominate device size.
That makes no sense to me.
Many cpu implementations have some sort of bank switching or dedicated registers reserved for interrupt usage - it is seldom a full set of registers, but can be enough for very short interrupt routines. Beyond that, you must save other registers before using them - that applies regardless of the number of registers you have. And if your interrupt function calls external code unknown to the compiler (or programmer), you must save /all/ the registers. Twice as many registers means twice the time, space and bandwidth.
Don't forget that the way /you/ program using VPA sort-of-assembly is very different from the way the great majority of embedded developers write code. A lot of what you see as "fact" here is the result of your subjective experiences - there is no doubt that 32 registers suits your way of programming far better than 16 registers would. You have manual control of all your registers, and track what needs to be saved in different places, avoiding the need to save as many registers as a compiler would.
The time needed to save and restore all registers may not be relevant in a given application, but it is not irrelevant or negligible in all cases.