Apologies for being late to the party, but I am seeing this issue as well with my new px.factory librarian when sending SYSEX data to the synth.
Like you, if I set MIDI Param Send to OFF or to CC (or send the NRPNs params on the MIDI port, not USB), I don't get the lockup.
I have a support case raised with Sequential and we are working through it. I have also just linked to this thread in the support case.
Sequential Support have asked me to verify of the behaviour is the same with other programs - yes, SYSEX librarian on the Mac will also cause the issue.
They have asked me if using "Reset Globals" changes behaviour - no it does not
They have asked me if reverting back to OS 2.1.0 changes the behaviour - yes it does. I have sent data from bank U4 to the synth several times tonight and do not get the lockup
Here is the initial report I sent to Sequential
Prophet Serial Number 00762
Prophet X OS Version M2.1.2; DSP 2.1.2.0.0; FPGA 1.0
In writing my px.factory librarian for the Prophet X, primarily developing on OSX, and I am seeing a problem when sending data to the synth.
The problem is when sending multiple program SYSEX data to the synth, the synth seems to stop receiving the data.
If you look at the first attachment "Prophet X MIDI Issue - NRPN to MIDI.png", the Prophet X is receiving the Program SYSEX messages and after each SYSEX message received the Prophet X outputs a set of NRPNs (highlighted in green). And on the Prophet X screen you can see each patch being received. And then, randomly, the Prophet X seems to stop receiving the programs (you do not see the screen updating as more programs are sent) and the NRPNs are no longer sent (see red arrow in first attachment, showing data going to the synth, but no NRPNs being returned.
The USB port then seems to be non responsive then until you either turn the synth off and then back on, or unplug and replug in the USB cable. The hang can occur at any point in trying to transfer 128 programs in a bank, but often will fail within the first ten program transfers.
If you turn "MIDI Param Send" in Global Mode to either OFF or CC during data transfers to the synth then there appears to be no issues (second attachment) and transfers run all the way through. Of interest is that if you set the MIDI PARAM SEND to CC, then you get no response out of the Prophet X whilst sending SYSEX data (so why the difference when NRPN Mode is set?)
If I set SYSEX transfers to remain on the USB port but send other data to the MIDI Ports, with MIDI PARAM SEND still set to NRPN then the problem does not seem to happen (third attachment shows SYSEX going on the Prophet X USB Port and the NRPNs coming back on a Focusrite Scarlett 2i4. You can see from the program numbers in the SYSEX messages that you are getting to program 128 with no issues.
Once the hang occurs, there is no response from the Prophet. For example, in px.factory I use the Universal SYSEX Device Inquiry to test the interface (checking that the right reply comes back). If I run this test after the problem reported above, I get a MIDI timeout (4th attachment)
In my software I have the option to set buffer size when transmitting messages, delay between buffer sends and delay after sending an entire message. I have tried all sorts of different permutations on OS X to no avail, but discovered today that turning off NRPN seems to "cure" the problem.
I also saw the same problem on Windows 10, but I seem to have a buffer/delay configuration that works (I will check a little further after Christmas), whereas I couldn't find one on OS X. Unfortunately on Windows I cannot find any software now that works on Windows 10 that allows you to spy on MIDI inputs and outputs whilst you are using them - even the evergreen MIDIOX no longer seems to work now! So I cannot see if the Prophet behaviour is the same when you vary the MIDI PARAM SEND parameter.