By the time the micro sees the pulse and runs the code that says "I saw it", the bullet will be 100 yards downrange.
I think this is exaggeration. ![]()
A busy-polling loop even on an Arduino should detect the passage of the projectile before it has travelled it's own length, given a fast enough detector.
Besides, it may not matter about latency, as long as the latency is consistent.