OK. So dhcpd turned out to be a red herring.
In desparation, I tried switching to ClearOS and it had the same problem, though not with dhcpd.
I suddenly remembered back in my electronics days, that many embedded systems use a watchdog timer to automatically reboot a locked-up micro-controller. The scheme is to load some value into the watchdog timer, which then starts to count down to zero. The timer is controlled by the processor's timing circuitry, and runs independently from whatever the processor is (or isn't) doing.
The idea is that the programmer would include, within one of the programs subroutines, the code to reset the timer back to the initial number, before it reaches zero. If the subroutine doesn't run, the timer runs out and forces a re-boot.
It turns out the Fit-PC2i that I was running this on is designed to be an embedded system and includes the watchdog timer. Earlier versions of linux had been including the reset routines, so I never noticed it, but it would appear that a recent linux update (I don't know to what component) either broke the timer reset routine or changed (ie. delayed) the point at which it gets run, allowing the timer to run out, forcing a reset.
People with regular PCs would never notice it.