So this is what I did:
1. took the udev approach and made the add-in nic eth0, and the onboard nic eth1. PXE boot still fails.
2. I reinstalled LinuxMCE. PXE boot still fails.
3. I changed cables. PXE boot still fails.
4. I change the switch. PXE boot still fails.
5. I plugged the Ecomini directly into eth1 on the core. PXE boot still fails.
6. I plugged in a lexmark printer, a random PC, and a HP laptop. PXE boot or just plain IP assignment via DHCP fails on all of them.
7. I checked iptables - no rules, at all.
I ran tshark on eth1 to see what's happening on the wire (I had a feeling the DHCPOFFER wasn't getting out). When I PXE boot anything, tshark shows the DHCPDISCOVER. /var/log/daemon then shows DHCPOFFER, but tshark NEVER sees it. That is, even though the core shows a DHCPOFFER being sent, tshark reveals the DHCPOFFER never actually reaches eth1. This explains why I wasn't seeing a DHCPREQUEST before: the PXE client isn't getting the DHCPOFFER, so it can't send a DHCPREQUEST!
Something is preventing DHCP from working correctly. I don't think it's the hardware: both nics exhibit the same behaviour. No matter how many times I install LinuxMCE, I see the same problem.
I don't know LinuxMCE well enough to troubleshoot this. Does anyone know what's going on?