It will work. I don't think your kernel is flakey. If anything, I think the problem is elsewhere. And I think the fault is in the simulator, but I can't get the Bochs team to agree one way, or the other, with my suggestions regarding this project. Yes, please do.
Oops... It doesn't commit suicide when at 0x04000; it is doing more unpacking. I am now tracing it printing "LinuxBIOS", trying to see where it *does* jump off in to never-never land, eventually tripping bochs out by going over my memory size.
Yes, I figured out why it was giving me that error -- the BIOS eventually jumped in to zeroed RAM and just kept going. The crash always occured at the 16M mark, where is what I have my RAM size set to. :-)
Regards, Andrew