Well, that’s exactly why I thought it should work. But to make it work, @painopaul had to make another block to send the PC FROM.
On ProgramChangeEvent (m : ProgramChangeMessage) from ZSYNTHPC13
programChange = GetProgramChangeNumber(m)
ZSYNTHPC13.SendLater(m, 1000)
End
The script says FROM ZSYNTHPC13, but really, the PC change comes from the midi block on top goes INTO ZSYNTHPC13.