Ben,
Thanks for the info.
My suggestion is to perform these calculations in your business layer, and then pass free tables to Crystal.
Crystal does not process data as optimally as development tools. Crystal is best used as a presentation vehicle, not a tool for processing. I've generally found the best performance when all the data munging/calculations are done either in a business layer or even in stored procedures, and then passed on to Crystal.
Kevin