If the Keystep is only sending out note data a program change data (and possibly clock bytes), I cannot imagine what might be causing the CZ to fail to respond to other program change commands (i.e., get stuck on patch 1.
I would start diagnosing the issue by looking at the data coming from the Keystep to see what all it is sending.
Not being familiar with the Keystep, I will look for a manual online to see if that tell what data it sends.