Lua is supported where C is supported (even most of microcontrollers support it), but Lua is only scripting language that I placed on top for speed up development of simple games. C++ is for things that cannot be done in Lua (OpenGL, threads etc), so we may say that support for C++ on given platform is critical for being cross-platform. Windows Phone 8, Android and iOS support C++. Then for some things that may be accessed only by given platform language I have to write minimal 'backend' in that language. For example I need Java for sound, opengl canvas initialization and JmDNS stuff. Obj-c on iOS for sound, EGL and network.
I know that it may look like overhead for just one game, but overall it was great experience