Seems that a lot of people wind up doing this. Perhaps the arduino library should have a version of delayMicroseconds that doesn't block interrupts. It would be pretty sloppy for small delay values, but with a little hacking would work OK for larger delays.
My next project (I think) is going to require interruptible sub milli-second delays.