As taktik says 128 Programs is very much a limit of MIDI but there also very much is a workaround to it which has been incorporated into the MIDI standard for decades to give access to more than 128 Programs.
Bank Select is your friend! Bank Select uses two 7bit controller values giving you the possibility to access 16,384 banks of 128 Programs (or over 2 million Programs in total.)
Of course, whether your plugin Instrument has actually been written to confirm to the MIDI Standard is a completely separate point all together!
I should have said something like: “The standard way in many (but not all) modern MIDI implementations…”
Anyway, the few times I’ve looked it up, I’ve just seen conflicting information in different places. The trouble is that all devices/plugins/whatever tend to behave in slightly different ways. Some will expect CC#0 and CC#32 together even if they don’t have more than 128 banks, while others will be fine with just CC#0 on its own. I’ve even heard that certain synths want CC#32 first and then CC#0. I suppose you really just have to try it and see what the particular device/synth expects.
My only point was that it might not be just CC#0 on its own.
Fair enough and I admit my phrasing was overly harsh. See I missed posting the link to the specification in my first post and you did help with providing a lot of the useful information. I think we can agree that although there are specifications defined their implementation may vary, thus some experimenting with the details may be required to get it working (if it will at all with software as there are even less promises it will have been implemented at all.)