Chris makes a good point on how the MDX generator in Reporting Services 2005 produces potentially wasteful code.
On a related note if you are looking for performance gains then have a look in the ReportServer database. In there is the ExecutionLog Table. This shows you each report that was run, who ran it, what parameters were used and how long it took. The really cool thing is that it sub divides the time taken into the time to retrieve the data, the time to process the data and the time to render the report.
This means that you can quickly home in on the cause of a slow running report. You could even run a report to report on reports performance.