At first sight and as far as I can understand, this happens because though you create several instances of the main report, each on these instances try to open the same an only one instance of the subreport.
If this is the case (I still need to verify my assertion), this means that Access is launching the Open event of the (same) subreport more than once, which triggers the 2191 error ("You can't set the recordsource property after printing has started").