hmm, well below i posted logging where i stood facing northwest and caused it to log both GetAxes and GetUnAxes, then faced west and did it again. It's not immediately obvious to me what it's doing but it almost strikes me as maybe using a left-handed coordinate system instead of a right-handed one?
facing Northwest:
ScriptLog: GetAxes gave X -0.665807,-0.744300,0.052132 Y 0.745327,-0.666699,0.000383 Z 0.034471,0.039110,0.998640 , InstigatorVelocity Dot X is 0.000000
ScriptLog: GetUnAxes gave X -0.665807,0.745327,0.034471 Y -0.744300,-0.666699,0.039110 Z 0.052132,0.000383,0.998640 , InstigatorVelocity Dot X is 0.000000
facing West:
ScriptLog: GetAxes gave X -0.999633,-0.007284,0.026075 Y 0.007286,-0.999973,0.000000 Z 0.026074,0.000190,0.999660 , InstigatorVelocity Dot X is 0.000000
ScriptLog: GetUnAxes gave X -0.999633,0.007286,0.026074 Y -0.007284,-0.999973,0.000190 Z 0.026075,0.000000,0.999660 , InstigatorVelocity Dot X is 0.000000