The trouble with using zero-crossings is that what you call harmonics are not really harmonics. That is, they are not exact multiples of a fundamental frequency. Since these overtones are not locked to the fundamental, they float through the fundamental waveform, causing time-varying distortion to the zero-crossing point. If you want to use zero-crossings, you must first bandpass filter (either in software or in hardware) for on particular narrow range of frequencies so that the effect of these inharmonic overtones will have mininal effect on the zero-crossing time. Of course you could just sample for a longer time so that the individual errors in zero-crossings would be averaged out. But that would contradict your stated goal of getting a response from the device as soon as possible. Good luck.
-Robert Scott Ypsilanti, Michigan