I'll look into LUA. Never used it back in my games dev days as it was just coming into vogue.
I think you were absolutely right to switch from Ruby, I can't see the problems that you had getting any better unless Ruby lets you manage object allocation (in which case you could allocate to a per-frame memory buffer and just nuke it at the end of every frame).
And for x86/x64 and ARM, you can try LuaJIT to get even more zing (though you probably won't need to).