Hi,
ich habe auch sonderbare Unterschiede zwischen den über pulseIn und Interrupt + micros() ermittelten Dauern. Ansonsten konnte ich problemlos sowohl via pulseIn als auch via Interrupt über eine einzelne Leitung (Pin 2, Interrupt 0) Signalflanken ermitteln. Via Interrupt ist es relativ einfach, daher würde ich dass auch empfehlen. Ich kann gern mal Beispielcode posten.