Program change parameter value change

Confirmed the program changes implementation is inconsistent between major DAWS

For example for 5 programs:

Cakewalk SONAR Pro

parameter ProgramListId change to 0.000000
parameter ProgramListId change to 0.200000
parameter ProgramListId change to 0.400000
parameter ProgramListId change to 0.600000
parameter ProgramListId change to 0.800000

Cubase Elements

parameter ProgramListId change to 0.000000
parameter ProgramListId change to 0.250000
parameter ProgramListId change to 0.500000
parameter ProgramListId change to 0.750000
parameter ProgramListId change to 1.000000

So far I could only find these two host working with program parameters, other hosts could implement this differently as well.
Now that two major DAW software package have a different implementation, is there a list which host implement program changes and is there a way to detect in the plugin the host and it’s version ?

P.S: It really costs a fortune to buy all major DAWs to assure program changes work as Cubase and Cakewal both do not provide
perpetual free demo version to test VST’s. So my fate is to throw in a lot of money now to test VSTs because hosts implement things in their own way, is that correct ?