>are there any instance why would not create a cursor? I believe that it will still create a cursor even the result set of you query has empty records.
The only reason when the real cursor is not created is when you created a filtered result set. It could not be applied to your case anyway, since you're selecting from multiple tables.
Otherwise this command would create a cursor unless there is a bug in it and it didn't execute.
If it's not broken, fix it until it is.
My Blog