If it did turn out that this guy really does have the misfortune to own some really dreadful MIDI modules, that really do have such nasty latency on their MIDI inputs that they really do sound awful,
would a workaround not be possible as follows:
1. (I assume y'all are aware of this already, but) - for serious work, once you've built something up on the MPC4000 in Song mode, you really oughta do Convert Song to Sequence, to make one great big sequence of your whole song, which might typically be a few hundred bars long.
2. Then, track by track in your sequence, you Select All the events, and apply an appropriate timing offset to them all. (lol can you do this? - it's been so long since I used my MPC4000 in so much detail that I forget! I remember you can apply global offsets to each event's velocity... can you add a number of ticks to their position too?.... if you can't, then I am talking sh1t and I apologise...)
You'd need to do a little bit of maths to convert the required offset (in milliseconds) to a number of ticks.
For a tempo in beats per minute (assuming the 'beat' is a quarter note),
1 quarter note = 60/bpm * 1000 = value in milliseconds.
Divide that by 960 to get the length of the smallest tick.
e.g. at 120 bpm, the 960ppq resolution of the MPC4000 lets you position events by an accuracy of 0.52 milliseconds.
If you can't do the global offset of the position of each event in a track, you'd need to manually apply the offset to each event in the track - which would probably take hours!
But if you are sufficiently anal to care about this in the first place, you will probably ENJOY spending hours doing it.
In any case, do it once, record the difference, and prove to us it's worth it.
