Good question - there are pros and cons. If you keep the report "outside" the EXE ("untyped report"), then any changes just to the RPT means you only have to distribute the RPT.
If you incorporate the RPT into the project, you have to distribute a new EXE (or possibly just an assembly, if you add the RPT to a separate project that's referenced by your EXE.) The bottom line is that you'll have to recompile something. But the advantage is that you can reference the report class by name, just like any other class in your project.
The direction should be based on your environment. If multiple apps share the reports, or maybe you have a high # of reports, and/or you anticipate that most "changes" might be visual tweaks, then maybe using untyped reports (keeping them out of the project) is best. I usually use strongly-typed reports, because my apps have different characteristics.
Kevin
Kevin