intellijel:
The analogRead takes around 104 uS, so whether or not you do it infrequently, whenever you do that there is a window of 104 uS when you won't detect anything, especially in a polling loop. It's possible to do analog reads asynchronously.
I didn't see how I could get around this unless it was being polled and everything else was interrupt driven. How do you read it asynchronously?
To answer this first:
Scroll down to: "Read the Analog-to-Digital converter asynchronously".