The new ReaScript function MIDI_SetAllEvts can correctly interpret negative offsets as well as empty messages.
However, the MIDI editor does not draw CCs correctly when there are negative offsets: as soon as CCs that are earlier in the MIDI string go offscreen to the right, all subsequent CCs *in the same lane* (i.e. earlier in PPQ position, but later in MIDI stream) also disappear:
(This bug does not occur with notes.)