Delphi automatically changing my parameters

Can anyone tell me why Delphi insists on changing some of my ADO parameters
for we when I load my project?

For example, I have an out parameter of ADO type _Recordset.  Delphi decides
to automatically change this to Recordset21.

I would not mind this except for the fact that it does not change the
underlying .pas file to the same, thereby creating a discrepancy between
declarations.

Sometimes refreshing the implementation does not update the parameters.  One
example of this was I had 2 parameters one ADO _Connection and the second
_Recordset.  I loaded up the project the next day and the type lib editor
showed _Connection and Recordset21.  I refreshed implementation and compiled
but still got an error.  After inspecting the type lib pas file the
_Connection parameter was changed to Connection15.  The pas implementation
of this function would not update.

Any thoughts?