pulseOut?

The shortest pulse that digitalWrite can do is just less 5 microseconds. There are two pulses in the trace above, the first is produce by digitalWrite high immediately followed by digitalWrite low. The second trace used direct port IO. (the tick marks at the top are 1us intervals)

You may want your pulse routine to subtract 5 for arguments greater than 5 and skip the delay for arguments less than that.