No offense taken at all. In fact, I am oft quick to blame myself. More often than not, actually. But in this case I am sure that it was not me. I verified the set point. 1650°. Furnace was at 2200° when I caught it.
Ok, there's another possibility. One poster above asked why a PID controller would be used in a furnace. Two reasons. The first is better regulation - making sure that the furnace temperature gets to and stays at the desired temperature. The second is better servo properties. That is, the controller allows the furnace to better follow a ramp up/down program. And the ramp program can be internal to the PID controller box, or can be received as s setupoint from another controller, or it could be you, just sitting there and increasing the temperature setpoint by a fixed number of degrees every 15 minutes.
To get better regulatory and servo control, the PID controller uses three modes. In fact, they're often called "three mode controllers". Each mode adds to the controller output. The first mode is called Proportional (that's the P). The control output is changed in proportion to the "error". Error is just the setpoint minus the actual temperature. The controller multiplies the error times the gain (alternately, 100% divided by proportional band) and adjusts the output. The gain can be adjusted ("tuned") to match your system to give good regulatory and servo control.
You often can get good control just using P control. But what can happen if things aren't set up properly, or if they are proper, but things change (e.g. you set up the controller in the summer in a 110° shop, and then try to run it in the winter in a 55°shop) and you can get "offset". That is, a stable difference between the actual and setpoint temperatures. You can manually compensate and account for the offset, but another approach is to use Integral (I) control. Integral means area under the curve. That is, the controller keeps a running tally of the graph of area versus time. That persistent offset is integrated and multiplied the Integral Gain (also called "Reset") and the product is added to the controller output. The Reset is also tuned.
For systems with "large mass", like a furnace (where there is a large thermal mass to heat), you can add Derivative (the D) control. This action is the slope of the error curve (kind of - its usually the slope of actual temperature) and multiplies it times the "Rate" or "PreAct" constant. This allows the controller to "pre act", that is, when the P and I control action adds a lot to the control output to warm up the furnace. When the temperature gets close, the D anticipates a large overshoot and adjusts the control to avoid it.
So much for the tutorial (I'm a control systems engineer). One thing that can get you into trouble are your tuning parameters. In almost any realistic situation, setting the P, I, and/or D tuning constants too high can lead you to instability and can result in just the type of overshoot you mentioned (you needn't ask me, but can probably guess how I know this). And tuning settings for a furnace can be especially tricky. How confident are you in those settings?