I think you will find that O4 does roughly the same thing, depending on the startup scale, and the availability of detailed cells at the screen
The random nature you observe relates to the Lon0 problem, and depends on where you have been before you arrive at your test location. This will get fixed.
The whole issue poses an interesting design question. We choose the cm93 scale level to show based upon the availability of cells at the screen
center point. What should we do when a user pans into an area with larger scale, i.e. more detailed cells available?
It then becomes a question managing screen density and CPU cycle availability. Too much detail can be worse than too little.
We have tried some logic before to try to guess what the user is trying to see. This approach is not reliable. So the patch I gave you causes O to choose a reference Scale and stick to it as you pan. If a cell at the chosen Scale is not available, then the next smaller available scale will be used.
Take the specific case we look at here:
0. We start at a specific point, at the church tower in Joerlanda. By computation of screen size, scale and cm93 detail slider in Options, we determine that the best scale to use here is cm93 Scale E. 1:50,000
1. However, there is no E scale chart available for this point. So we fall back to Scale D 1:100,000.
2. However, there is a part of the screen (to the West) that is well covered by Scale E 1:50,000, i.e. more detail. So we show this piece at Scale E.
3. We pan west, bringing more and more of the Scale E region onto the screen. It comes onscreen at Scale E, since that is the Reference scale.
This logic was broken in 4.1.925. The new stuff was coming in at Scale D.
The initial computation of "best" scale is tricky. There will of course be "breaks" in the visible scales chosen, because we have only a certain set of scales available, and larger scale cells are generally smaller in area. No sense in having a large scale chart of the central Sahara desert.
What we do know is that fiddling with this algorithm to make it better in Scandinavia almost certainly breaks it in North America. And vice versa. So we want the simplest, most general algorithm we can devise.
And we still have the "Vestas" problem to consider. This is the case where we have small scale charts
of an ocean, with isolated larger scale charts
of islands. We would like is to signal the navigator: "There is a larger scale chart on your rhumbline, a few miles ahead. There might be an island there. Please take a look".
So you can see that the issue is not local, but highly global. Finding an optimum is non-trivial.
Anyway, I think the patch I gave you reverts to the equivalent to O4, when the other bugs in cm93 viewport math are resolved.
Thanks for listening.