Simba Code:
MakeCompass(RandomRange(85, 275));
That's from NCDS's update, and is actually the complete opposite of setting it north. That will make the compass somewhere in-between 85 and 275 degrees, which is the entire southern part of the compass. Here's what randomRange(85, 275) does:
http://img62.imageshack.us/img62/2176/rscompass.png
Also, you were talking about 3 o'clock/9 o'clock, etc. I don't know if you were getting it confused, but the angle you put in the makeCompass() parameter isn't the angle that the little N gets pointed to, it's the angle of the compass. For example, if the N was at 9 o'clock, the compass angle is 90 degrees.
By the sounds of things, using randomRange(-85, 85) works. I didn't know makeCompass could take a negative angle, but again, the compass is supposed to be made north while walking, so I'm not sure what's happening. I'll look in to it.