MIDI commands are indeed applied after everything else, while tracker commands are applied to the notes on the same line.
This is not something new, it has always worked this way in Renoise. And, to my knowledge, is how all DAWs usually work. For example, try opening the “MIDI event list” of a random sequencer and see how a program change which is perfectly aligned with some notes come after those notes.
Basically, it comes down to the order of tracks. So I think you can work around this by entering the MIDI commands in a former line/track
(or better still, use the phrase switch command - Zxx - that one WILL work on the same line). See also: PhraseMate