Ok, we had similar experiences.
Here is the starting point. I am assuming you are using mqx 3.8.1
A major change was done in mqx from 3.8.0 to 3.8.1, the Processor Expert (PE) component for the cpu was added to all the kinetis builds. Great concept but not correctly implemented. In a PE project you pick the processor family, the processor and the package. You can change processors by changing cpu components... simple. But with the mqx bsp builds you can pick a processor but not the package. This is a fundemental error that misled us completely. We wanted to use the k20dx256, we were told by the MQX development team, FE, TSE and many others to use the twrk20d72. Seems reasonable. Wrong bsp totally. We had to use the k40dx256.
So by using the k20d72 twr bsp, the core was completely wrong. The mcg would not sync, nothing worked except in free run mode for the clock. The usb was dead, i2c failed etc.... it took a lot of time to figure this out because we had an inhouse board, and no way to validate the design. Was it the board or was it our software or was it the mqx system or cw? Furthermore because we used the wrong reference design we had capacitors on the xtal that should not have been on the k20dx part. Another reason the mcg would not sync.
Eventually it was found that the core we needed was the k40 and what needed to be done was to turn off the LCD driver in the user_config.h. We did that but then the cw tools set showed completely wrong information in the component inspector and cpu target views... all the pins are wrong. This is because the twrk40dx256 bsp is built for a BGA 144 package. We were using a 100 pin, LQFP package. This mess is a result of a narrow world view of which cpus the mqx team decides to build against. There is no documentation on this; Freescale has not provided any as of this date. Further more if you follow the guide to cloning a bsp, you are wasting your time. This will accomplish nothing. All this does is make a duplicate copy of the bsp and psp leaving the original alone. Do an incremental backup, restore the original if you need it and ignore that the naming of the cpu being wrong. You will save yourself a world of torment for paths and modules that are wrong or missing.
So the starting point is probably really simple if you do not get pulled off course in misinformation from the toolset and appnotes. Find a core that mqx has built against that is a super set or identical. Turn off the components if any, that you are not using in the user_config.h. Do not clone the bsp, psp or anything else. Make sure that you can load the mcg and test that it does not hang, then go on to the middleware. If you are using middleware (usb, mfs etc) build an empty project with these components added. Do not use PE components apart from the cpu which you are forced to use. These will make a mess of the driver structures and are only partial implementation in some of the key components like the FlexTimer. This procedure will put all the correct paths into the project. Get that to load and make sure you can schedule a task and that the mcg still works. Then start adding your code a layer at a time.
We had to do a complete uninstall and then re-install of cw10.3 and mqx 3.8.1. I would strongly suggest you do this, with all the updates. After working with support and various resources throughout FSL and even the company that provides support to FSL for mqx, since Jun, our system would not bulid or load or run properly. You may not be in that position, but if you have muddled about in the mqx directories I would start from a known good starting point. We have been using cw10.3 before the recent public release. C10.2 had only a partial implementation of our processor, the bsp project was missing critical files. The update was a patch and fixed some of that. CW10.3 has all the latest files and we have encountered no problems.
The key is making sure you have a correct bsp and ignoring the misinformation, you can't change that.
Regards
Robert Lewis