Did you define temperature for M303? In repetier-firmware (you still did not say which firmware it uses which is important due to different parameters) it works like this in 1.0.5
M303 P<extruder/bed> S<printTemerature> X0 R<Repetitions> C<method>- Auto
detect pid values. Use P<NUM_EXTRUDER> for heated bed. X0 saves result in
EEPROM. R is number of cycles. method 0 = classic, 1 = some overshoot, 2 = no
overshoot, 3 = pessen, 4 = Tyreus-Lyben
You might want to reduce pid drive max to 128 so it does not use full power. Giving it so much more energy will increase overshoot, so select a target temperature that is well below your max. temperature. Say 180 so with 60 overshoot you are still within limits.
X0 and methods 3-4 will likely not work as they were added later I think.