So add a voltage limit to the control...
Here's an example how to do that:
All the feedback stuff is at the bottom, feeding an error amp feeding an opto (the UC3842 controller is wired as a follower, so the opto sets the current setpoint). When any of the three conditions is exceeded (current, temperature or voltage), the setpoint is reduced. Note that the secondary thresholds are quite soft (the 2N3906s are used in common base configuration, with lots of resistance in the emitter circuit --> low gain), and everything is limited to a bounded range (i.e., the emitter resistance plus the collector resistors preventing them from driving the op-amp into hard saturation).
It's not enough to simply say "if temperature > 100C, set current to 0". That will chatter like a motherfucker. Consider what that means: as long as temperature is high, turn it off completely; temperature had been rising in the first place, so presumably, this will last for a few cycles -- battle won, right? Well it'll cool down in the mean time, and then it's going to slam right back on again -- right back to 100% full power (or worse, your PID has saturated and it commands something else into saturation), right at maximum temperature. It oscillates with the thermal delay and time constant of the system.
Most ICs do it by shutting down at a high temperature, and remaining off until temperature falls below a lower threshold (hysteresis). This gives a little reprieve from the high temperature, but changes it for thermal cycling, which still isn't good. In short: you need to avoid situations like this, and preferably solve it with an alternate method: the fault can be latched, waiting a much longer timeout period, or until power cycle or user reset*; or the power output can be reduced, so that temperature remains nominal.
*With a timeout enforced on THAT, so the user can't simply spam the button until the thing explodes! Or, for that matter, holding it down. Nay, you need the button edge-triggered, so holding it down doesn't mean anything. Easily solved with a few resistors and capacitors, or logic gates, but easily overlooked!
But that means changing your controller. Controlling temperature requires a much longer time constant than controlling voltage or MPPT. This is why the above circuit has such a soft threshold on temperature: the limited gain keeps it stable. The light output simply dims to whatever level it can operate at!
So it's not very good to put a hard limit on things. Much better to approach it slowly: create a temperature variable, scaled and offset to the same range as your main control variable, and do something like: feedback_variable = max(control_variable, temperature_variable). This is equivalent to using ideal diodes, or using transistors normally biased off (as above).
Tim