How do I make a stepper motor compass cross 360° to 0°?
Two options (for starters):


Use the move() class rather than the moveTo() class. This will allow you to do relative moves rather than absolute. 
Use setCurrentPosition() (which sets the current position to zero) followed by moveTo() with a destination which is newPos - prevPos.


For either to work you will need to keep track of the current position of the needle.

To work out the relative move you will need to do some kink of modulo arithmetic but this will require some trickery to generate negative values for anti-clockwise moves.

// delta is the angular adjustment required.
delta = (currHeading + 180 - prevHeading) % 360 - 180;
setCurrentPosition();        // Zero the motor.
moveTo(delta);               // Move absolute from the new zero.
prevHeading = currHeading;   // Keep track.



The code assumes that you will never have to make a heading adjustment of more that 180&deg; in one step.
Adding in the 180&deg; before the modulo calculation and subtracting it again afterwards is a trick to allow negative results from the modulo arithmetic.