A: 

Well, seeing as you have already abstracted away the 3 databases into your dataset, why not just use the dataset as your datasource. You select the xsd and design your report. When you run the report, you populate the dataset in code and set it as the report's datasource.

Otherwise, you can add each table to the report (doesn't matter if they are in different database) and link them together in crystal.

dotjoe