How do I protect my circuit from getting more than 3.9V from a CR123 battery?
A CR123 is invariably a Lithium / Lithium Ion chemistry battery, which means nominal voltages of 3 Volts for the non-rechargeable Lithium cell, or 3.6 Volts for the rechargeable Li-Ion. 

Thus, greater than 3.9 Volts is not going to happen unless the battery is a dangerously overcharged LI-Ion cell, and even then I'm not sure it is possible.

Given the above voltage limits, if one must be doubly sure and cover the unlikely case of an overcharged Li-Ion, a 3.6 to 3.7 Volt zener diode would work well as a shunt regulator to limit the voltage to within said nominal voltage:







simulate this circuit &ndash; Schematic created using CircuitLab

R1 must be sized so as to not limit the current needed by the operating device - this can go to as little as 10 Ohms, since CR123A batteries from major manufacturers can typically handle quite a massive current draw anyway.

Even if the battery were to have been overcharged, the Zener diode's current draw will quickly bring the voltage down to nominal by discharging the battery down to Zener voltage.