Not sure if you sorted the WOL yet with the DIR645 - just in case I can confirm IT DOES work - I actually checked with D-Link support before purchase as it was essential for me - they confirmed "it should work"
1) Make sure the device you need to WOL has a reserved DHCP address in the "Setup/Network Settings" section. This actually binds the devices mac address to its IP address - as the WOL packet is sent to a MAC address (The device is OFF so does not have a functioning IP address!)
2) Set up port 9 forwarding - rather obtusely this is enabled under "Advanced/Virtual Server" and NOT in "Port Forwarding"!
3) Click "Application" - choose WOL / set "Protocol" to UDP / enter the IP address you reserved in (1) / enter 9 for public & private port.
This does mean that the WOL is device specific and is not "Broadcast" across your internal network - not sure if you could set up another rule using a different port if you have more than one device requiring WOL?
Just for completeness - this wakes my NSA310 everytime from my Android Tablet using a suitable WOL packet generator with the following settings:
MAC - of the device you defined in (1)
I.P. - mine is via dyndns - or use actual I.P. if your ISP gives you a fixed address
Port - 9
Subnet - 255.255.255.255
Broadcast - enabled
.... and just to add the "belt and braces" approach I send this 3 times at 1 sec interval.
Hope that's useful.
Now all I have to do is find out why the Wifi, controlled using the "Schedule" function, quite often either does not switch back on or sits there, broadcasting its' SSID, but refuses all connections!