Your intuition is correct: If speed is your source of error and Jaguar PWM is your output, then your proportional term will become 0 once you hit the setpoint.
Here is a great thread on this topic from a couple of years ago:
http://www.chiefdelphi.com/forums/sh...&highlight=PID
The short answer: You need to accumulate your output over time and use that instead. In essense, yes, you are controlling motor acceleration (just as in a position loop, you are controlling motor velocity).
What you have now:
Jaguar_PWM = Kp*error + Kd*error_derivative + Ki*error_sum
What fixes the problem:
Jaguar_PWM
+= Kp*error + Kd*error_derivative + Ki*error_sum