SQLQuery1.SQL.Text := 'select * from MyTable where ID = :ID'; SQLQuery1.Params.ParamByName('ID').DataType := ftInteger;
In Delphi 6, everything works fine. In Delphi 2005, TSQLQuery.QueryChanged has been updated to use TSQLQuery.SetParamsFromSQL internally. This means that if you don't have a SQLConnection assigned when updating the query text, then the params will be cleared. This means that an exception will be thrown when trying to do the ParamByName call.
I'm not sure that this would qualify as a bug, per se, but it definitely changes your application's behavior when all of these circumstances are present.
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.