The action name can't be returned because the action is nowhere stored in the entity. An entity action is just a normal function with the only exception that the "me" pointer is set to that entity.

What I could do is implementing a function that returns a name for a function address, f.i.

char* name = engine_getfunctionname(player_act);

Would that help?