Saw this thread when looking for something else ... and I actually have a better answer for this now (or rather a more complete one).
The light guns like the GunCon, relied on traces from a CRT monitor ... but simpler guns like the zapper, really just looked to see if they saw light or not (the white squares).
Now, obviously, the zapper doesn't work if you try it on a non-CRT HDTV. But, this is most likely not because the TV is too fast ... but because it's too slow. There's a lot of pre-process data the set has to deal with so, the image is showing up much later than the game expects. When you click the trigger in duck hunt (for example) it sends the signal to the game that you have fired, so then the game blacks the screen out and displays the white boxes which are the hit areas for enemies ... at the same time it sends a signal to the zapper to turn it's light diode on. If the diode sees not white (or light) you miss. Since the timing is very precise, it's very easy to ruin the sync between the hardware and the game. The Zapper fires the diode like it's meant to at the signal time it's always done ... but when it turns the diode on ... it doesn't see the light from the white squares because the TV hasn't rendered that black image yet. It's all very fast, it gives maybe a couple milliseconds for the check to happen ... and the TV is delaying things by maybe 3ms or so ... so it just doesn't have a chance to remotely work.
Either the diode firing timing needs to be slowed down or the TV needs to get the image on the screen faster.
I've been thinking about this ... and it sounds like something that can be corrected. I'd be curious to interface a zapper with an emulator running on a monitor and see if that makes a difference. You could even potentially fix it by slowing down the signal from the NES to the zapper to turn on the diode which would just be a small circuit with a resistor.
But, it's finding the right timing (which is likely different for every set) that's the issue.
Who says you can't post in three year old topics! I apologize if the resurrection annoys anyone