I also agree with never using delay.
For a toy or a hobby fun project, delay is fine. Lazy, but fine.
But any kind of application where safety is involved, it's flat out unacceptable. There are many applications where this platform fits in amazingly well, that controls events down to the 10ms range.
For my intended application, adding unnecessary blockages to the throughput, would compromise or delay the system's ability to react, can prove catastrophic. I know because I engineered the hydraulics and mechanical components that I intend to control.
Do real world parts move as fast as 10 ms? No. But, when you have to implement a complex inertial based control strategy, with multiple inputs, and PID features... 10 ms in the chain of mechanical events that aggregate to a total of less than 100ms, is a lot. And that can mean compromising the optimized control strategy (not quite LQR) and longevity of the system.
Instead, just do it the right way.
Rather than type that out, or even be more specific, I just tend towards leaving that info, and my opinion aside. I appreciate your help, and will use your example to further my understanding, but delay simply put isn't an option for me to use.