Have a look at this .blend file. When the up arrow is held, it goes forwards, when the character is rotated (left, right arrows) and up is presses, i goes the same direction! http://uploader.polorix.net/myfiles.php?sb=date&so=dsc
I don’t want to register just to download your file, so I haven’t looked at it. Try another service like box.net or savefile where I don’t have to register.
It sounds to me, though, like you need to check/uncheck the “L” button in the motion actuator. It changes how the motion is applied between “Local (checked)” and “Global (unchecked)”
I think I can work out what your problem is from the description:
You’ve actually told Blender to move your character in a certain GLOBAL direction, no matter what the character’s facing is. What you want is to make the character go forwards according to their LOCAL axes.
You change global to local by clicking on the appropriate small “L” button on the
motion actuator logic brick.