John
I am not sure why the first method didn't get work but the explanation is probably due to the value in network.ucOurIP.
DHCP can either start fresh (this is forced by using the FORCE_INIT flag, regardless of the value in network.ucOurIP - which is a trick and not necessarily following RFCs) which happens when it has no knowledge of its IP address (network.ucOurIP must be 0.0.0.0). If network.ucOurIP has an IP address programmed, DHCP starts in the INIT_REBOOT state - this means that it will FIRST attempt to get an IP address which it has 'known' to have used before - a sort of preferred IP address. This is often not successful since a lot of DHCP servers will refuse to give it. The result is that it first has to try a few times before giving upand then starting fresh, which should then work.
Since FORCE_INIT avoids the attempt to get a specified address, wich often is not accepted, it means that the time it takes to get a the network details is faster (it can save maybe 10s).
Therefore I expect in fact the same results with FORCE_INIT or without it, when the network.ucOurIP is first flushed to zero.
Regards
Mark