I don't see any problems with a label control caption approach vs assigning value to a control, but it does seem the OP did...
Assigning information to reports can be done several ways. For instance using the controlsource of a text control to reference a form control on an open form (=forms!frmMyForm!txtMyControl), or a public function which retrieves a value from a variable (=GetMyValue). It can also be done programatically, as in this case.
When reading quickly through the thread, the usual basic suspect of such arose, you cannot assign values to controls (values as opposed to caption) in the on open event of reports. The other frequent culprit for this error, but (also) occurring in other events so not relevent here, would be if the control had a controlsource.
With regards to the semantics, perhaps I wasn't precise enough? I tried to refer to assigning values to controls - a label control does not have a .Value property - then I continue to discuss the .Value and .Text properties of text controls, of which, as far as I know, only the .Value property can be used when working with reports (and, as it is the default property, lot of developers prefer not to specifying it). I did not refer to other properties...
The persistant challenge, also after your suggestion of using the .Caption property, lead me to suggest what I perceive to be the most common programattic approach to displaying such information on reports - assigning values to controls in the on format event of the section in which they reside. And no, I did not bother trying to figure out why the Label .Caption approach did not work, as it should normally work. One guess could be that when the label control was referenced, the property was omitted (I think that should give the 438 - Object doesn't support this property or method vs 2448 You can't assign a value to this object, which will usually arise when trying to assign values to controls in the on open) or that it was attempted on some control that wasn't really a label (would probably bring up the 438 again).
Reading a bit more closely, it seems the OP relied on the "intellisence" dropdown, which can't be said to be the most fruitful experience when working with Access reports. One funny thing, is for instance the .IsVisible property of controls, which is usually available through "intellisence" in forms, but not reports, and the only place where this property can be set (according the the help files, that is), is the on print event of report sections (it can be tested also in for instance the on format event of report sections, but not used on forms)... One would need to rely more upon knowledge, than the "intellisence". But - one doesn't need to know it all by heart, it's usually enough to know that in addition to using the property dialog, using the help file on different control types, then study the information in the properties, methods and events list would often be of great assistance - and often show differently than the "intellisence" dropdown.
But, the members frequenting the reports forum probably knows a tad more on reports, which is also why I pointed there...
Don't know if this rant is any help to anyone, though, except perhaps some of it might explain a bit more on some of the amusements of working with Access...
Roy-Vidar