How long is your report...a million pages (ok, I exaggerate) but that is a LOT of data. Remember that Crystal reads the data like 3 times and that it has to fetch the data from the DB, fetching that much data is going to take a bit. I would have thought that paging would be quicker, but there is a lot of data for Crystal to keep track of.
Are you binding to the tables are you fetching via a stored proc? If from a stored proc, how long does it take to complete. Then probably double that to get the 'run' time for Crystal...seems to work as a rule of thumb for me...if it takes 10 seconds to run in SQL server, then it will seem to take 20 for Crystal, maybe longer.
Regardless, it seems that that is an awful lot of data to push to a report...do you need them all? Maybe you don't, maybe you do. Maybe you can do some preprocessing on it in the DB so that fewer records are needed.
HTH