ON DELAY defines a one time event branch to take after a specified number of seconds (as opposed to ON CYCLE which continues to cycle). The value of seconds can range from 0.01 to 167772.16 but is rounded to the timing resolution of the computer.
There is only one DELAY timer. Executing a new ON DELAY while another ON DELAY is still in effect will cause the DELAY timer to use the new seconds value. If the ON DELAY is executed in a different program context, the original ON DELAY definition is restored when control returns to the calling context. The old DELAY time is not restored, however.