I don't think GS3 offers that option. It would be a good option for GS4. Sometimes I want program changes. Sometimes I don't.
My typical example is when I'm using my MIDI controller with whatever patch was last up. Then I want to change to a different keyboard setup. Often this sends a program change that moves Giga's instruments around.
I'm now in the habit of turning off my MIDI interface before changing my keyboard setup, then I turn it on again. It would be easier to disable program changes. I rarely use them when sequencing.
On the other hand, when playing live or using Sibelius, I generally want program changes.
Being able to enable/disable program changes in Giga would be welcomed.
Try iMIDI rule: Filter MIDI. It includes program changes. I can never get program changes to work in giga anyway, so I can't test this, but it may be possible to stack an null instrument with this iMIDI rule embedded, such that either, a) switching to this instrument via KS or other controller will temporarily guard that channel againt undesired program changes, or b) the presence of the null inst. on the stack automatically protects the entire channel anyway. Either would be great, since Giga generally only allows one iMIDI rule per instrument.
If anybody's up for testing this theory, I'd like to hear the results.