several thoughts.
1) debug how long it takes to return the dataset...step though that section with f10. Just how long does the data fetching take.
2) how long does it take in SQL Server
3) how many records are returned.
4) what is the report doing? anything fancy? any subreports or is it a straight data dump.
Yes 2 minutes seems too long, but the question is, is it Crystal's issue or VB's or a combination.