In VST5 you could apply a program change to the track (in the track inspector) and also to the midi parts. The program changes were ‘chased’, i.e. transmitted as the song plays, and transmitted when you located to different parts of the song too.
In SX and beyond they removed the program change on the midi part so it was only on the midi track (pity!). Anyway, that remaining program change in SX is chased when you locate and play, i.e. if you change the program manually on the keyboard it will go back to what SX wants.
And in Cb5 it doesn’t ‘chase’ this program change anymore, it is transmitted once when you first open the project, and once each time you change the value. I.e. no chasing during the song. So, if you manually change the program change on the keyboard then it doesn’t go back.
Opinions will differ on which method is best… It depends on your working method I guess. I like the old method because I have quite a few keyboards which are single timbral so program changes for different sections are necessary. Also, it’s not always quite as easy as just a program change because most keyboards have many banks, so you have to be MSB/LSB bank change savvy too… After using the Studio Module in VST5 and the midi devices in SX3 and Cb5 where you get to see the patch names then digging down to the program and bank changes is like going back to the dark ages!
Steinberg recommend that if you want the program changes to be chased then you use something like ‘merge midi in loop’ which ‘freezes’ the inspector values into a midi part - things in midi parts are chased by default. Then you can move these midi parts about. I’ve not used this method, I prefer to record my hardware keyboards to audio when I need different sounds instead.