control a Servo that rotates more than 180 degrees

I tried the servo library and it certainly gets the Hitec 785 moving and I like the fact that it works away in the background. However, even setting the min and max pulses to 900 and 2100 doesn't resolve the issue of the angle being wrong. As it rotates 3.5 revs according to the datasheet (1260 degrees?) I expected to have to divide all the angles by 7 but this is not the case. I am doing some trial and error testing to figure out the angles but it doesn't seem obvious yet!
Also, I worked out the jerkiness is caused by the opto-tranisitor or the way I am using it.
If Iplug the motors signal lead directly to the arduino pin it is smooth. However, I am worried it might damage the board. I am using an external power supply. Anyone got any ideas? The opto-transistor I am using is an ILQ74 from maplin.