Try this, the next time it goes out, leave your computer as it is and leave the ethernet device up. Go and cycle the power (unplug it and plug it back in) to your adls modem/router and see if your internet suddenly starts working again.
I have a hunch the problem is somewhere in the lease time of the DHCP server on the router and your computer dropping the lease time. I can't explain it properly because honestly, I don't understand it completely myself. At home when I run a P2P app it seems to work for a while and then all internet access drops. If I leave everything as is and simply unplug the power to my router and plug it back in, suddenly it works again. If I shutdown my network card and try to bring it back up, nothing changes, the internet still does not work. I believe the error is in the UDP type packets as I remember reading something about that somewhere where if the header has malformed information it causes the router to do something where the PC forgets check the lease time for its address. Cycling the power to the router causes the DHCP server on the router to reissue those times.
Here, something like this:
http://www.isc.org/index.pl?/sw/dhcp/authoritative.php
This could be some type of support with either th IPv6 or 4 support I compiled in the kernel. Let me read up a bit on it and I'll let you know if I figure anything out.