You can use the Session object (create it before you open the tables and set your relations, and run the report). VFP will be doing more work taking this route.
My preference is to do run a SQL Select to create the report cursor. This way you do not need to set relations and not worry about the record pointers moving in the cursors you have on the form (or in your case the grid). All you have to do is save the current workarea number (using lnSelect = SELECT()), and restore it at the end of the method. Close the report cursor at the end of the method.