I don't know for sure, but if I had to guess, it's that they are on relatively new, uncommon, or limited architectures for which a variety of compilers just don't exist. Many other compilers depend on being bootstrapped through C and many other runtimes depend on some subset of standard C library functions. Also if you stick to a certain part of C and write very simple code, it can be safe and more importantly very predictable. In embedded usage, you need to know that the execution time can fall within a bound. It can also be important to shy away from getting too high level in architecture or concept because that can hide complex but catastrophic logical bugs.
It was needed for JIS compatibility, since they encode halfwidth and fullwidth versions of kana and English characters, because having different fonts for them was too expensive.
oh, sorry, has to due with the way windows switches between chinese and english. Sometimes it goes into a weird mode monospaced mode for some reason. Thought that would get stripped