It dramatically increases the runtime because every time the subreport is run (I'm assuming for each record in your case) the subreport connects to the database and runs a query - so you get the overhead of all of these extra connections and queries.
The only way around this might be to write a stored procedure or a Crystal Command (SQL Select Statement) that would pull ALL of the data for your report, including the data that's now in the subreport. Whether you can do that will depend on your SQL skills and, for the stored proc, whether your DBA will let you do that.
-Dell