This was something that happened a lot when I was doing more gameboy midi stuff, the way that I worked around it was to have the instrument also send a program change command in a table on the instrument. like this :
but replace the Y00 with the relevant program number (in hex).