I've never had Ubuntu or Debian child, but it may be that another script, loaded at startup is cleaning the /etc/hosts and/or other system files. Such scripts/lines of code are usually located at /etc/rc.local file, or /etc/init.d/. Got root ? Anyone else ?
There's no local script doing this, I can't imagine this NOT being Ubuntu stuff, could be the winbind I've installed for talking with the AD following this tutorial.
I really have no ideia what can be doing this.
Do you find a script in /etc/init.d or someplace which messes with /etc/hosts? (I don't, not in /etc/network or /etc/init.d .)
Mine looks like it was last modified on 2008-03-28 which might have been the last time I used DHCP. I don't have any real grip over what Avahi does but if you use Network Manager with roaming mode, this is the sort of thing it does, I believe.
locate avahi | fgrep hosts brought up two matches which look sort of promising: /etc/avahi/hosts and the avahi.hosts manual page.