Do you have tables opened in the DE of the report or are you just relying on the tables opened in the form?
If the tables are opened in the DE, the table marked as the "InitialSelectedAlias" is the one that drives the reports.
If you are relying on tables already opened in the form, whatever table is "current" at the time the report is run is the one that drives the report.
Also, you have to be very careful when driving a report from a form with a grid. The grid can mess up the selected table by trying to refresh when the report isn't ready. To avoid this, programmatically take focus off the grid before running the report. You can do a search on the UT for the thread that describes that in detail.
Cathy