Ethernet on the Spider not using DHCP

I found the problem. in the sample code at http://www.tinyclr.com/codeshare/entry/588 the EnableDHCP bit ( line 30 which is commented out for static IP addresses) is several lines above the wiring of the event for Eth1.NetworkAddressChanged . The address is getting changed faster than the Event is wired up so it never fires.

Here is what I Have and it works for a dynamic (DHCP) address.

using Microsoft.SPOT;
using GHI.Premium.Net;

namespace SpiderEthernetTest
{
    public class Program
    {
        static readonly EthernetBuiltIn Ethernet = new EthernetBuiltIn();

        public static void Main()
        {
            //Spider BuiltInEthernet needs to be open.
            Ethernet.Open();

            //Subscribe to AddressChanged
            Ethernet.NetworkAddressChanged += new NetworkInterfaceExtension.NetworkAddressChangedEventHandler(Eth1_NetworkAddressChanged);
            
            //enable the Dhcp
            Ethernet.NetworkInterface.EnableDhcp(); 
        }
        
        static void Eth1_NetworkAddressChanged(object sender, EventArgs e)
        {
            Debug.Print("New address for The built-in Ethernet Network Interface ");
            Debug.Print("Is DhCp enabled: " + Ethernet.NetworkInterface.IsDhcpEnabled);
            Debug.Print("Is DynamicDnsEnabled enabled: " + Ethernet.NetworkInterface.IsDynamicDnsEnabled);
            Debug.Print("NetworkInterfaceType " + Ethernet.NetworkInterface.NetworkInterfaceType);
            Debug.Print("Network settings:");
            Debug.Print("IP Address: " + Ethernet.NetworkInterface.IPAddress);
            Debug.Print("Subnet Mask: " + Ethernet.NetworkInterface.SubnetMask);
            Debug.Print("Default Getway: " + Ethernet.NetworkInterface.GatewayAddress);
            Debug.Print("Number of DNS servers:" + Ethernet.NetworkInterface.DnsAddresses.Length);
            for (int i = 0; i < Ethernet.NetworkInterface.DnsAddresses.Length; i++)
                Debug.Print("DNS Server " + i.ToString() + ":" + Ethernet.NetworkInterface.DnsAddresses[i]);
            Debug.Print("------------------------------------------------------");
        }
    }
}