delayMicroseconds(0) = 16383µs

bperrybap:
The real question is if you want a delay of 1us when the delay you are asking for is 0?

And my question of curiosity is why are you asking for a delay of zero?
Is this caused by some sort calculation that results in truncation?

No, this is a real glaring bug and it should be fixed in the library source. There are many times
you will want to calculate a delay and don't want to have to deal with zero as a special case.
The restriction on the argument size is also a bit yucky and incompletely documented - it depends on the system
clock speed whether delayMicroseconds(20000) does what you expect, for instance!