you could initialize a shared variable to 0, run the subreport (which updates the shared variable the record count) and if the count is still 0, display the message, otherwise, suppress the message and display the report..
the tricky part is the initializing of the variable...but you could create a new section and intialize it above the subreport...just will be creating a lot of sections...well you could initialize all the subreport variables at once, and if the subreports run after, say a group header, you could initialize them all there...so maybe not so many sections....
HTH