pulseIn retuns zero every second time called

Zorac:
i tried on the M0/samd21 though and still no luck. the output is still a fraction of what it should be.

how do you power your mh-z19 co2 sensor?

On a M0 you can get 7mA as maximum DC current for I/O pins versus a maximum of 40mA (which you should limit to 20mA in practice and there are other rules for total draw) on your proMini. The mh-z19 co2 sensor requires roughly 18mA so can be powered from a digital pin of the pro-Mini but not from the M0.

could that be this?

(of course you don't need the logic level shifter on the M0 as it operates at 3.3V logic as well)