Whenever you use a "Do Every X Seconds" block, what happens is a repeating event is created that runs independently of the code that created it. As a result, the interval is not changed by reducing the value of the variable that was used to set that interval initially. If X was "3", your new timed task will always use a 3 second interval; even if the variable later changes.
You can check if the variable has changed, however, and create a new timed task with the new value (and cancel the old one).