I have a report (built using CR 2008) which has 4 subreports. Recently I had to create a new ODBC connection, using the ODBC 5.1 windows driver, and went through a lot of stress trying to get the report to pick up the new connection without removing the old (which would subsequently remove all information in the design view) and adding the new through the database expert.
As some of you will know you can do this by Right Clicking the database field, in field explorer, and selecting 'Set Datasource Location'. In my scenario this changed successfully but when viewing the SQL query (Database --> View SQL Query) the database name was still showing the previous one. I tried a lot of different things but eventually found the fix was to Change each and every 'table' through the 'Set Datasource Location' instead of globally changing the Database.
Hope that makes sense and feel free to shout if you have any questions.