Попробуйте установить timerUpdate () перед SDL_Flip (экран). Вы вызываете SDL_Flip, затем вызываете timerUpdate (). Итак, вы думаете, хорошо, это нормально, в следующий раз, когда экран перевернут, я увижу текст. Но то, что происходит, заключается в том, что вы перетаскиваете больше поверхностей сверху, прежде чем перевернуть экран, и затем вы не можете видеть текст, потому что вы перевернули поверхности поверх него. Все, что вам нужно сделать, это изменить порядок, поэтому
timerUpdate();
if (SDL_Flip(screen) == -1) return 1; //Instead of the other way round
должно работать.