Hi,
To answer your question, yes we have been able to fix this issue and it was primarily caused due to a variable which I belive crystal 9 used to require an answer as 'N', which crystal XI wants 'Y'. I am not able to remember the name of the variable.
We have also changed the way we used to call crystal, I think this was the primary problem. Crystal XI and above requires the crystal to be placed in the GAC(Global Assembly Cache) than the previous way i.e. DLL in the system32 folders of a machine. We have now changed our code to access this and fingures crossed we have been successful.
Hope this helps.
Arun