I'm not sure if/why that'd work, but that's how it is in my system and mine seems fine, so I guess it can't hurt
No. He was right the first time. Changing to sin() will reduce his potential view angles to [-45, 45] instead of (-90, 90). Also not related to the original problem.
... *facepalm* That's why that was happening in my game? Gaaaaah