I think the issue here is that you're talking about post match results. As far as I can tell, this program only fetches *prematch* ranks when the match is loading. Obviously the elo results will be different afterwards. That may even account for the 'transposed' issue (ie, a simple derank from a lost game).
This, ranks, levels and hours are only obtained before the match starts.