I am going to guess that the issue is the ODBC connection. From what I know, and I'm not an expert, the connection translates between what CR is asking what it gets back from the Database. If you are speaking the wrong dialect/accent, you will get back gibberish at times.
Your clients should change the ODBC connection, if they have Oracle backends, they should have set up the connection to Oracle, otherwise, they should expect things to not work.
It would seem that what you want to do, isn't going to work. Send out step by step instruction to your clients to change the ODBC, it's what 5 minutes or less, and if they don't have correct, send that too.
The starting point is that the wrong ODBC connection is being used, fix that instead of trying to work around something programmatically that isn't doing what you want....or have your application get the data from the DB, and push it to the report via XML and don't even worry about the OBDC connection...
Another way of saying this, is have you application supply the data to the report, instead of having the report get the data from the database. This is what my company does, and we don't have the headache of ODBC drivers and their configuration or multiple users or any database/report interactions, because we control the data, not the report.