Having more than four or five nodes within reach is fairly rare, so in the vast majority of cases the character needs to move anyway. With an unskilled harvester you will need to move more often since not every adjacent node will be spent after three pulls. I can see your logic of stopping when the next nearest target is out of range, although using the /use command on non-harvests or out-of-range targets is harmless and it keeps distance checking out of the code.
There is the extra wrinkle of shiny collecting which, when active, piggybacks onto the harvesting sequence. Currently if harvesting is suspended, shiny collecting suspends as well. Although it's rare to have a shiny in range along with harvesting nodes (preventing the need to move), the window would need two routines with separate triggers if you are collecting shinies and the harvesting sequence gets suspended due to out-of-range.