Stepper Position Sensing and Control

A servo won't do what you want. Isn't a sail winch just a continuous rotation with a winch attached?

You could go half steps which would give you 400 positions, you could use a gear train and come up with more positions.

The hardest part is how do you handle the moves across 0 degrees. Not a major issue, just depends on how big the steps are that you would be sending to the stepper motor.

Another thought - Power up the compass and assume that is 0 degrees. then have a mechanical cam, push a button and the compass is then zeroed. You could also sense when the compas has beeen zeroed, delay a bit and then move it to the proper heading.

If the Arduino that is controlling the compass is recieving just degree numbers and moving the dial to position you should be able to keep the position correct for quite a while, no load, low speeds mean the stepper should have no problem keeping position without feedback.

How much total rotation do you think you would have in one "flight"? If your number for compass position were a long you could do a lot of 360's before you ever hit overflow.

Will your flight sim be sending position info in degrees? or degree step?