These are Sysex events recorded from an instrument, which uses a Sysex containing program data followed by an NRPN to load that data into a particular channel for playing. It sends this in lieu of a program change if you start a recording (signaled by MIDI Start) with a program that has been edited but not saved. The idea is that on playback, you get the correct modified version of the program, rather than the stored version.
These messages come out of the instrument correctly, and they're recorded correctly, but just not played back correctly. I don't see any reason why storing the Sysex into a "sysex bank", and then putting that into the event list, would behave any differently, since it's still a non-channelized thing that is apparently handled as part of a separate stream from the channelized messages.
My solution is simply not to use that feature of the instrument, and always start with an unedited program. So that's not really a problem for me, but it does expose something that is wrong with the program, which should be fixed.
Is there an official bug tracker that people can post to, or can we only use the forum, and hope someone from BandLab notices it?