Please add to the docs for the Pulse-in block that it will time out after 250 msec if no pulse is received in that amount of time.
If the level of the looked-for pulse is different from the constant level of the pin, it returns zero. If the levels are the same, it returns 23 usec.
The 23 seems a bit odd. Shouldn't it, too, be zero instead? That could easily be mistaken for an actual pulse 23 usec wide.
What I have not tested is what happens if a leading edge occurs within the 250 msec but never returns.