C is not necessarily a panacea for portability problems--it's quite possible to write C that will
compile on one platform and not on another, especially if you've never used it before and don't
quite know what you're doing--and as a language, it's inefficient of programmer time, because it
requires you to do explicitly what other high-level languages do for you...and that, in turn,
multiplies the number of mistakes that can be made. C does have its uses, but I wouldn't recommend
it as a language for a single-person game platform project unless the programmer in question is
either already experienced with C, or wants very badly to learn it.
The best solution to portability problems is to use an interpreted or semi-interpreted language
such as Java or Python. Yes, you take a performance hit of variable magnitude when using either
of these languages. It's a trade-off.
Lua gets embedded a lot because it's designed to be embedded--that simple. Depending on the language
of the primary engine, it might not even be the best choice (a Java-based engine would probably get
more mileage out of Beanshell, or the Rhino Javascript engine, frex).
However, all that aside...
As one of those Linux users you mentioned, I'm a bit sad that I will be unable to play neo-fusion's
game without jumping through some number of extra hoops (which means that I probably won't bother),
but I'm not about to argue with his choice of platform. Writing a game engine is not a small
undertaking, especially for an inexperienced programmer, and asking him to do it would be a good
way of sabotaging his chances of ever getting the game completed at all, in which case no one
will be able to play it.