Conclusion
All of the tutorials in this section, ReportDocument Object Model Tutorials, perform operations on classes, properties and methods of the ReportDocument object model.
Those operations are not persisted unless they are stored in Session, as this tutorial demonstrates.
Even if your intention were only to display the report once, the user may choose to alter the display properties by going to another page or adjusting the zoom level, and these would result in page reloads that lose the operations you have performed against the ReportDocument object model.
Therefore, always remember to place your embedded reports (or external reports loaded into an instance of ReportDocument) into Session. Then, after each modification you perform against that ReportDocument instance, replace that instance in the Session variable to ensure the changes will be persisted on every page reload.