If we plan to assume that the zImage always go with linux,initrd*
properties then we have to document this specification somewhere.
If something is going to pretend to be Linux (by pretending to be a
Linux zImage) then it should behave like Linux on boot. I think this
extends to initrd handling.
If what Linux does is undocumented (or the docs are out of step with
reality), well, that's too bad.
Feel free to work on improving Linux's documentation. I think it is
orthogonal to the questions raised in this thread though.