Yes, MWK2 files are sorted first by event code, then by event time. This makes extracting events by code tremendously faster than with the old MWK format. (Filtering by time is usually faster, too, but to a smaller degree.)
At present, there's no way to request that getEvents (or MWKFile in Python) return the events for multiple event codes sorted first by time. I could add support for this pretty easily. (Under the hood, MWK2 files are SQLite databases, so it'd just be a matter of adding an optional ORDER BY clause to the selection query.) However, this would result in longer read times, since you'd be jumping around through the event file (which is naturally sorted by code first).
I'll do some tests to assess exactly how much slower sorted-by-time reads take. If performance isn't drastically worse, I'll add that as an option to MWorks' event-reading tools.