@larry-biscuits I'd be happy to look over the code. The major difference between C++ and Python is arbitrary integer length. Your suddenly negative number could arrise from you having an integer overflow, e.g. when storing something an in int8_t.
Do you have an example of a register value which yields two different values when decoded with the C++ and the Python problem? That way the problem can be found very quickly.
In my case it was a desktop watch so logically it was powered on 24/7.
OLED displays are not like CRT. CRT tubes only decay when there is a long exposure to the front phosphor so as long as you do display changes (like screen saver) screen will be fine.
OLED displays does not work like CRT. Each OLED pixel has a short life span when powered, so doing 'screen savers' will not work as they will still power on the pixels. Will last a bit longer, but the OLED display is condemned since is power on.
The only good solution would be as you said, is having the display off, push a button, display info for 10 ~ 30s, then power it off again.