I think the "bobble" will be fairly noticeable...but with a fast servo it might not be too bad.

A Hitec 322 servo has a 60 deg travel time of .19 sec a 5V. Geared for 360 deg would load it up a bit...so make it .25/60 deg. You would need to gear it 5/1 (approx 80 degree servo travel would give you 400 deg total travel). Make the end rotation .05 sec/60 deg.
You might just be able to "lose" the compass for a moment, catching it as you come back around .3 seconds later.

The real trick will be careful spacing of the magnet to override the compass... but allow it to get lost when wanted.

If that doesn't work there is a way to modify it so that it does:
Replace the bar magnet with a low powered electromagnet (hand wind one...it's easy). Power this magnet at all time except when crossing the 360 deg point. At 360 release the electro and apply power to a second magnet, a "holder". The holder hangs on to the compass until the servo swings back around and then releases it to the original magnet.
This is much more complex...and quite probably unnecessary. You should be able to build it the way you last described.
You can find gears here:
http://www.servocity.com/html/gears___sprockets.html