I suspect there is an error - that would go a long way in trying to solve any issue??
I also don't think it has anything to do with syntax, rather that the control doesn't actually contain the report because it's being assigned at runtime. It is a value for the .SourceObject property but doesn't exist in the physical design for the main report. If there is a way around this without opening the sub in design first, setting the caption, closing then assigning to the subreport control I don't know what that would be - aside from using a calculated textbox instead.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.