In my opinion, the redraw event should be trigged by user as well instead only called from OS. When redrawing our screen, we can create a running condition if OS decides to redraw as well.
My scape is to use double buffer technique, drawing on the mirror buffer and deserving to redraw event only a simple blit. A timer can trigger your mirror buffer update and the following code can rotate your message.
m += m
s = len(m)/2
for n in range(3):
for i in range(s):