Allright but I think it shouldn't wake up by WiFi Local Network too, if that was the reason.The only way I know to get WoL to work over the internet is, in addition to opening the port in your firewall, to add a static ARP entry to your router if you are able to do so. It is explained on the DD-WRT wiki in the article on Wake on LAN under the heading "Remote Wake On LAN via Port Forwarding". (Sorry, I can't post links!)
Apparently, the router doesn't remember a computer's IP address long after the computer is turned off (even if you use a MAC address for routing). It sounds like this may be your problem; perhaps the times you are able to wake the computer the router hasn't yet "forgotten" the address.
If you have a router with WW-DRT loaded on it then this shouldn't be too hard to set up, just remember to enter the commands exactly as they are in the wiki, don't change the MAC address or the IP address that is listed there (you can change the IP as long is it is one on your network that won't be used).
I'm not sure how to do this on other routers, especially ones with stock firmware, and I know it isn't possible on many.
I use a specific address for my pc (static) on my local network.