Do you have a specific problem in mind as a result of the change?
No.
I am creating IBQuery components programatically, and I expected that since CheckParams is True by default, the Params would be created when I set the SQL.Text. (TSQLQuery does so). When I found out that they are not, I actually commented out the "if" part I was referring to, so that FParams.ParseSQL is called always, not only when State is csDesigning. It seems to work at the moment, so I was wondering why it had to be otherwise. Of course, in my case I only set SQL.Text once, maybe there would be a problem if Params are not empty and have to be re-created.
But, to be on the safe side, I will probably reverse this change and start calling Prepare after setting SQL.Text as you suggest.