I have a similar problem, only you seem to be slightly more advanced in solving it.
I am also using the CodeWarrior Toolchain and the WinIdea debugger.
My problem is this:
I can get the code to jump from the RCHW to the __start function. However when entering the function it starts acting erratically. I understand that there are some initializations to be performed before running actual C programs, but I haven't a very good ideea as to what exactly I need to initialize.
Also something that I noticed is that the R1 register (stack pointer) has a value that is different than the one in the MAP file. Things seem to start working after I manually write the value in the MAP file (by start working I mean that it enters the __start function).
Any help on the matter is appreciated.
Thanx