I know I'm way late to answer this question, but seeing as how I was searching long and hard for a more appropriate (in my opinion) solution to the same problem, I figured I'd go ahead and share it here. You can access the subreports directly and directly suppress them like this:
var subrpt = (SubreportObject)report.ReportDefinition.ReportObjects["subreportName"];
subrpt.ObjectFormat.EnableSuppress = true;
I far prefer to directly manipulate the object model where possible... especially because it allows me to avoid messing with scripts in Crystal, which are not very intuitive to me