Actually, it would be much more efficient/faster than what you are currently using. This is because you don't actually have to send/receive any data. You just open the socket, and close it as soon as it opened. $sockerr will be filled if the host doesn't exist.
Btw, you should specify some of the flags when using ping.exe, like -n 1, that will make it much faster, as the default is 4 echo requests that are sent.
alias checkhost sockopen checkhost $+ $ticks $$1 80
echo -a $iif($sockerr,$false,$true - $sock($sockname).ip)
I am far from any sort of network/internet expert, but I think this will suffice for your specific problem.