Here is my final solution:
Using the 'delay' option seemed cleaner than wait actions. The internal error was eliminated with a one-second delay between commands. With a three-second delay, the error goes away AND the 'event out of order' warnings mostly go away (a cleaner log file is easier to scan quickly). For delay values greater than three seconds, the error and warning comes back because the commands start clashing with the periodic 'refresh device'.