Hrm. Well, if you push the function via lua_getglobal, then you're pushing it to the C stack -- so you don't want to use lua_getinfo() to get its name back -- lua_getinfo() references the runtime stack.
Actually, that's not quite true :)
If you push various C-functions to the stack, then call lua_call, the function that gets executed via lua_call will become part of the runtime stack, while any other functions pushed as arguments will become part of the new C stack.
-Sven