I hope this has been cleanly fixed in the recent FreeMiNT versions, and that it does not work by chance.
Maybe I overlooked it but I've got an impression nobody here mentioned "yes, I fixed it in XX version here and here", it may be totally coincidental it works in newer kernels (for example by the same thing what caused the odd stack in the first place, I don't believe it's bug in startup code or bad align in binutils)