You need the correct permissions in the SQL DB to write a stored procedure (and save it there) which can be used as a Report source.
IN a stored proc you can get very creative in creating and manipulating the original data set into something more useful as a report source. You will of course need to have the SQl skills to do that, but you can alwasy have a DB adminstrator crete the SP for you and then use it as the data source.
You can also write a Crystal Command as a Data source which is like Stored Proc.
164 formula and 36 running totals seems like quite and I am going to guess that you are building formulas on top of formulas to get to an actual display value.
If that is the case perhaps envisioning this to accomplish the entire calculation in one formula or RT might be helpful.
Also you did not mention any sub reports but if you have them they can kill your performance.
Also in the "original" report that executes quickly, are you sure all 5 table joins are being enforced in the report?
If your new formulas are actually enforcing a previosuly not enforced join that may be where a large issue is happening.