For some unknown (to me) reason, DrawRotatedText translates the text slightly (and differently) depending on the angle, whereas the MSW ::TextOut was able to draw consistently. This results in the screen image being different from the memory image, which means that the screen image changes when it's refreshed. Rather than have this inconsistent drawing, the screen image is now always copied from the memory image, instead of being drawn separately.