Perhaps your sequence is sending a program change on channel 1 (your performance control channel) which is calling up another performance that has different channel assignments per part.

You can stop this by setting the control channel OFF or removing the offending program change message.

Also, have you checked you're sending the appropriate bank change messages before the program change messages?

Post your email address here if you'd like me to have a look at the sequence (just send the first few seconds if you want to protect your artistic work).

kind rgds,
Hound Dog