One known situation where this can happen is documented in ISC bug ticket RT #26108. This is not a defect in the DHCP server code. In the scenario under consideration in ticket #26108, some clients may send DHCPDISCOVER or DHCPREQUEST packets with the seconds elapsed field coded as little endian, thus confusing the DHCP servers in a failover pair who are expecting this to be big endian. The incorrectly coded secs field may cause one server to incorrectly deduce that the other is not responding, and thus send a DHCPOFFER that it wouldn't normally. We've released a code workaround (available in 4.1-ESV-R8, 4.2.5 and newer) that may be helpful to some users:
Add a configure option, enable-secs-byteorder, to deal with clients that do the byte ordering on the secs field incorrectly. This field should be in network byte order but some clients get it wrong. When this option is enabled the server will examine he secs field and if it looks wrong (high byte non zero and low byte zero) swap the bytes. The default is disabled. This option is only useful when doing load balancing within failover.
Aside from any issues due to clients who don't set seconds elapsed field, or who are using a different endian setting, typically this behavior would only be observed where there is a high latency between the client and servers or where there are packet losses in the network causing the client to re-send the original packet with the secs field incremented.