"IF ERRORLEVEL n" specifies a true condition if the last program run returned an exit code equal to or greater than the number specified. Therefore, your bat would run both net send commands when 0 is returned. We can use a dreaded goto to avoid this problem. I found that the FIND command is not needed as ping will return 0 on success and 1 on failure.
Code:
@ping 10.0.0.2 > nul
@IF ERRORLEVEL 1 GOTO dead
@IF ERRORLEVEL 0 GOTO alive
:dead
@net send 10.0.0.1 Dead
@ECHO Dead
@GOTO end
:alive
@net send 10.0.0.1 Alive
@ECHO Alive
@GOTO end
:end
@ECHO Goodbye
Batch Files Reference and Examples