Odds are you'll want to reinitialize for each run, especially the integral term. I can imagine cases where you might not, but I think they'd be pretty unusual.
Remember the basic definition. The integral term stores the cumulative sum of the error signal from your previous run. If your last term ended before driving this integral back to 0, it could be the dominant term in your PID when you start your next run. It could also be of the wrong sign, causing your next response to start in the wrong direction. The old stored value ("wind-up") may affect your next response for a substantial amount of time as the old cumulative error must first be "dissipated" before the system responds normally to the present input.
The derivative term is probably a smaller issue -- it's usually a smaller term in most control loops anyway, and it's unlikely to have a very long memory effect. It doesn't accumulate error, it just remembers old error values long enough to calculate a derivative. Its effect will probably return to normal within a couple control loop cycles or so.
Still, since you probably will need to reset your integrator, you might as well also reset your derivative.
-Kevin P
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.