Oracle: Get the row count in a cursor when using a OPEN-FOR-USING statement
Do the ROWCOUNT check after looping through the set.  If ROWCOUNT will remain 0 if there were no data in the cursor.  You could use a FOR LOOP construct like:

OPEN ....

FOR ... IN mycursor
LOOP
    /* Process data here */
END LOOP:

IF mycursor%ROWCOUNT = 0 ...

CLOSE mycursor;