Are both of your datasources semi-static (i.e., updated on a daily, weekly, etc. basis) or dynamic (i.e., on-line transactions). If the express datasource was semi-static and the workgroup dynamic, then your numbers could change everytime you run the report, since you are using 'todays' date for then end date, and I can only assume that there is a time period where the status and cancelled can change.
Have you just run the SQL code from the servers and see if the number of records change?