The option is applied when the timer is set, and this happens when the
previous timer expires. In xfrd.state NSD keeps track of timers, even
if NSD is not running. If they expire while written there, the timer
should also get remade. When the timer is set again when you have
changed the option, then it should apply the new option value.
From a code read, the reconfig command should also apply the new
max-refresh-time option, but the timer needs to expire, then the option
value comes into effect and changes the setting of the next timer.
The code uses the min and max values to change the setting of the timer
value. It does not keep track of the fact that the timer value (that
has elapsed some time already) was created because of that option value
and then recreate what the timer could have been if another option value
had existed in the past. That would be hard to code. I also do not see
an easy way to trigger it into resetting the timers for that zone, which
is what the delete of the xfrd.state file did. So I do not know what to
fix, looks like it works, but perhaps unexpectedly so.