I had to make a few changes to the code that you included above.
You modified CCImage.h but doing this broke the compile for Win32. I moved these changes to CCImage_airplay.cpp.
In CCImage_airplay.cpp I had to include IWUtil.h for the IW_CALLSTACK() to prevent compile error.
I also added in the bool CCImage::initWithImageFileThreadSafe(const char *fullpath, EImageFormat imageType) which is required for the latest cocos2d-x.
In getBitmap() I changed the default font if one is not found to be something in the resource directory rather than accessing a linux directory (/usr/share/fonts/…_
Locally I found a MarkerFelt.ttf font online and used that since many of the cocos2d-x tests use this font but I do not see it anywhere.
I didn’t merge the CCLabelBMFont.cpp/h files since these seem to be just extenstions to the LabelBMFont and are not platform specific to Marmalade.
Thanks for the good work, looks like a big effort on your part.