I can't really help more. The code sequence for Alt-F to get an IP is:
# get an ip using the following priority:
# 1st, use kernel cmd line ip= (kexec or fonz reloaded) -- not applicable
# 2nd, use defaults stored in flash, either DHCP or a static IP -- there are none when clearing settings (or after a +20 sec reset)
# 3d, try to read vendor sib.conf -- there are none after clearing settings the first time (or after a +20 sec reset)
# 4th, try to use a dhcp server
# 5th, find and use a non-used ip address from 192.168.1.254 to 230 range
so:
-after saving settings, only 2 applies and no fallback exists
-after clearing settings 4 applies and if it fails 5 is used as a fallback.
-when using 5, If no network cable is attached (at boot time) it will use 192.168.1.254.
If you find that after clearing settings (and with the network cable attached at *boot* time) the DHCP server is not used (4 fails) and the box gets 192.168.1.254 when it is already assigned to another host, it has to be a network issue.
Perhaps the DHCP server is slow to answer and 4 is readily abandoned? Or in 5, when testing an existing IP the host with that IP don't reply fast enough and Alt-F takes its IP (192.168.1.254)? Don't know.
As you have now tested most things, there are only two situations for you to test: try using another router or try assigning the router another IP (so the box will use 192.168.1.254)
Sorry