I use wait state alot. If you are going to move a cursor and put a string somewhere, you wont need it. But if you are running a mainframe application that if you send keys to fast it hangs, like Fidelity, then you are better off including them. When I use them I cut the time from the default 3000 ms to 40 ms. I find checking for cursor positioning to be inconvenient for me. I have over 400 macros that I have written over 7 years that I just copy and paste code into new macros, and never bother taking them out.