I like variables, but even so, it seems a bit on the complex side.
ok, you are running 2 subreports at the same time in the report footer. You can't use variables as there is only 1 variable call being made, since it is in the report footer. Basically you are wanting to return 2 tables and create a third table with the sum from the first 2, and variables don't work that way...they are just a number, not....
what you need to do is to fill a shared array with the values in sr1 and sr2, then you can add the rows together....but you can't display them as there is only 1 call, at least I don't think you can.
The big problem is that you are doing this a section that is only called once and so doesn't lend itself well to what you are looking for.
so....
Yeah, (like DBlank said), I say use a stored procedure as you can do tons of processing that is completely outside the realm of straight table joins/subreports and return all the data that you know is 'correct' to the report in either 1 big table or smaller tables that link.