Just a thought, regarding the original post's LDR idea, there is a way this could be done.
If the LED were made to flash at a very high (human imperceptible) frequency then a phototransistor (LDR wouldn't be fast enough) or photodiode circuit could be set up facing the bulb with bandpass filtering so it would only amplify signals at the expected frequency of the LED's flicker, this would be immune to other light sources so long as they didn't also match that flicker rate or an integer multiple of it. That said, with the LED "bulb" in question apparently running off AC or DC it likely contains internal circurity to smooth things out, the only way you'd be able to get a very fast flicker would be to redesign those internals, unless the bulb already has a naturally existing one which you might detect, and if it does have a naturally existing one then depending how "smart" the design is this frequency might adjust depending on things like how hot the bulb gets as it is left running.
Thermal detection on heatsinks probably isn't good enough, there is substantial time lag between bulb startup and sink heating, and between bulb failure and sink cooling.
In the end, I'd look to design for yourself as much of the unit as you can, so you can have things like fast flashing done within it controlled by your own electronics, rather than having the whole 12V unit being a commericla item with inbuild controls. With low enough duty cycles you could even do occasional ultra-fast flashes when the bulb is supposed to be off, and still detect if these fail. That is to say you could detect a failed LED when the LED is desired to be off, not only be able to detect a failure when it should be on but isn't. Knowing it has failed while it is off and knowing that before you need it to be on soudns useful to me.