Not sure why you were surprised. I saw your message and I thought there isn't enough information to help you. Interesting enough I came across a similar issue. The CR designer was working find while the runtime used the wrong tables. Mind you, I am using Oracle.
Anyway, I looked at your code and I see that you set a different database for the table whose name starts with PARTTRACKING. Is that a schema name or the table name? If it is a schema name, you might have a similar issue, i.e. at runtime CR is using P21DB instead of the other one. Based on my experience, the TableName doesn't seem to contain the schema name at least in my case. Download Ludek's utility and generate the VB code that sets the connection for your report, then try again.