Solved: reading PWM signal: the "noInterrupts()" function crashes my code!

The comment in your code about "not just noise on the pin" doesn't make sense.

There is nothing in your interrupt routine to distinguish between a genuine pulse and noise.