Ian and Ray, thank you very much for your answers. Adding a G04 P.1 did the trick. My dwell is in seconds, and there seems to be a "floor" for dwell time, that specifying a smaller value doesn't decrease the dwell. I did try G04 P.001, and setting dwell to ms and trying G04 P1, but that didn't shorten the dwell time any.
And even my little test program takes at least a second to run, so if the dwell wasn't necessary to trigger the DRO it should have had plenty of time for the DRO to update (that's what I didn't understand in the first place...)
I did notice that the counter decrements on the dwell, so placing the dwell at the beginning of the subroutine immediately decremented the counter and the final iteration was on cycle "0", but placing the dwell just before the M99 caused the last iteration to report cycle "1", decrementing to 0 when the program ended.
Randy