I think all these problems are from the lazy loading implementation. Has there been any objective measurement on what kind of performance impact the lazy loading of objects actually has?
I'm not talking about DataLists and the ongoing building of queries, I mean not getting data and populating objects until requesting them specifically?
Really, DBs are a bottlekneck, not storing or parsing the results into objects (though that has overhead of course). In Laravel I like how one can request an object PLUS some of its relations in one go to save a DB call. It seems SS is about making more calls with the aim of reducing data transfer, rather than less calls with the aim of reducing DB workload.
Anyway, someone with an intricate knowledge of the lazyloading, DB manipulation / query building and versioned needs to address this joining/sorting bug (and others) which in theory is simple to solve except for when the versioned decorator comes in to play.