I don't know. I don't like 2, stored procs can do so much more than Crystal. Personally, I do a combination. All my data collection is in stored procs and much of my calculations, but since users can change the order and grouping of my reports, I have Crystal do the grouping and sorting. I create plenty of formulae, mostly for displaying calculations as the users can choose one of several, and depending on grouping the grouping totals need to be recalculated. I also end up using a good deal of suppression of rows and columns based on user input.
I could probably sort on the server in my proc, but isn't Crystal just going to try and sort anyways? In some cases, the grouping criteria has been developed over time in Crystal and, personnally, I don't want to try and do it in the stored proc...afraid I will get it wrong.
Currently, I don't join to the database from Crystal anymore. My app creates a dataset (XML) that I pass into the report
Well, there's my two cents
Hope it helps