somehow I fail to grasp the concept of ordered events in time

Check /proc/diskstats AFTER each blink for 40000 + 10000 microseconds.

If you check /proc/diskstats before each blink, what will often happen
is that the while loop will be entered after a change, but then drop
back into polling the for loop again, because it's unlikely that
another change occurs when rechecking immediately at the start of the
body of the while loop.