fellow, that was an amazing story to read. I completely agree with your analysis: the source of the problem is not the 2.6.29 kernel by itself, but "something" in the initramfs ( = tinycore.gz).
Here is my take. Everyone reports the same error message: "Attempted to kill init!" That looks very familiar. I get that message when I play with custom initramfs files and introduce a typo or "thinko" whereby the kernel cannot pass control to the init process after it (the kernel) is done with its own stuff.
That makes me think that the "init" program in TinyCore 2.0 is (somehow) the culprit. "init" in TinyCore 2.0 is provided by Busybox 1.13.3; TinyCore 2.1 upgraded to Busybox 1.13.4. Looking at the Busybox website, major bugfixes have been applied between 1.13.3 and 1.13.4, including this one: "init: major improvement in documentation and signal handling. Lots of nasty, but hard to trip, races are fixed."
I therefore suggest that you stop concentrating on TCL2.0, and try a more recent version instead. I know, the Wiki says that 48 MB RAM are required for TinyCore, and your machine has only 40 MB. It's worth a try nevertheless: first, using the "embed" boot code, I can boot even TinyCore 2.7 in a virtual machine (QEMU) with 40 MB; second, you could use MicroCore instead of TinyCore, simply to see whether the Busybox version is a factor or not.