Your attempts inspireed me, and I've got it working... kinda.
I created a formula field called ReportLevel and set it to 1 in the subreport (just typed 1 in the formula), 0 in the main report, and made it a linked variable. Set the subreport's header and footer to hide when {ReportLevel} < 1. So far so good. I can run the report and it hides the subreport header, when I click on the subreport and make it active it reveals the header. I have confirmed that ReportLevel is defining itself properly, 0 at the report level, 1 when the subreport is 'active.'
Great, right? Except here's where my ignorance shows, because for reasons I don't understand it's dumping ALL the rest of my data. The subreport shows up as an empty bar, as if I had passed it date parameters for which there is no data. When I click on the subreport, the header and footer show, but there's no data and the charts are empty boxes.
I know that the data is there, because I've run it with the same data parameters without the ReportLevel trick in place and it populates just fine. What am I conflicting with here that makes it go all crosseyed? I've got to be doing something wrong.