delayMicroseconds(0) = 16383µs

you think it might be more efficient to write:

I think

mydelayMicroseconds(us);

is a lot easier to write than

if (variable = 0)
{
variable = 1;
}
delayMicroseconds(variable);