Case code NOAR includes JCL errors, so that is why your first example is not working.
The statement you have for the return code 16 looks ok on the face of it, although it might be useful if you could post the JCL and job output. What happens if you remove the STEPCODE parameter from that job? Is Automatic Recovery then invoked when you get a return code of 16?