I finally got that mofo to work.
*(int*)0x1B2DC=3;//this is set somewhere in a function called by RefreshPhysicalScreen, should be easy to find
The magic variable, 0x1B2DC, is set to 3 when going into the camera menu. When going there, the screen was always refreshed. So I set it as 3 before refreshing the screen, and now it works perfectly!