You're making the assumption that a zero would not be bogus, which I don't agree with.
Zero is the value of "void" when propagated to an integer, so it isn't bogus. A particlar non-bogus value for void is needed, otherwise e.g. "void|int foo();" does not work.
I've already explained my argument: It's bogus whatever it is, so there's no use wasting effort making it a particular bogus value. The design flaw is deeper.
I've already shown that there is use "wasting" this effort, so your argument does not hold.