BUt you always are getting the page break and hence a blank page when no sub report, correct?
Do a conditional page break the same way you have the RFB conditionally suppred. It should only break if "SEE NOTE" exists.
If you ever have an instance where there is SEE NOTE and no subreport then you would need the shared variable to know to do no page break if there is no SEE NOTE or NULL sub-report.
Is this more in line with what you needed?