I had a similar problem when I last installed etch. I found that /etc/udev/rules.d/z25_persistent-net.rules uses the MAC address to map your devices so pulling a faulty card didn't make the on-board one eth1 like I expected. :-/
The timestamp is well in the past. It now seems that Lenny is running right and Etch was somehow using the incorrect descriptor. Both NICs are integrated in the motherboard chipset, so unless PCI enumeration is doing strange things, I'm at a loss to explain the flip.
put in a fix for a certain NIC that would mostly ignore the persistent rules.
It had to do with restarting a network service like SSH or something. The NICs would flip flop upon this service restart (after updates) and the machine would be unreachable except by console (or remote console device).
It seems to me these problems were due to the versions of udev/hal in Etch and the crossover updates from Sarge. I could be wrong, as I got out of Debian's foray (mailing lists) when I took a troll to task and got swatted on the hands by Sam Hovecar (the DPL newly elected).