The $? exit status variable will (**should**) work in busybox.
If using the busybox implementation of grep, that might work differently.
If you where running a Linux system (even a LiveCD one) you could get a busybox command shell by:
I don't have a clue if that will work under Cygwin, I never use Cygwin.