I'd like to be able to test if a remote Windows machine is asleep or not. Whether this is suspend or hibernate doesn't matter. I was originally trying to do this with a ping, but I would think that obviously doesn't work since -> WOL.
If ping is not working, there are several other command line utilities that can help you test connection to a machine. If you are sure that the machine is connected to your network, then a fail command could only mean that the machine went into hibernation (or it got disconnected from the network). Here are some such utilities:
 tracert - The trace route command calculates the number of hops to a destination. You can use it in a similar manner to a ping.
 nbtstat - This is a powerful utility in Windows that help you resolve dns names. Typing "nbtstat -a" will list all computers on your network and you can check whether your particular PC is on the list or not.
 telnet - If you know that your PC is listening on a particular port (such as 80 for HTTP ,21 for FTP or 20 for SMTP), you can test it with telnet.