It sounds like your dhcp lease is expiring and not getting renewed. See if you can't boost the lease timeout to something very, very large (or turn it off). Just a thought. Also, if you've configured your firewall with ipfw to block all incoming traffic under port 1023, you may not be getting bootp packets when the lease needs to be renewed. It should be open for ports for 67 and 68.