Problem solved!
CR9 runtime is taking database name from *.rpt file even if ConnectionInfo.DatabaseName has a different value.
In CR12 and CR13 runtime is always using the ConnectionInfo.DatabaseName value and ignoring the database name from *.rpt file.
That's what we have in our environment. This could not be true in all of the cases.
Thanks everybody for your help!