Very nice remake.
I would suggest using a real timer than an incremental variable so that timing is maintained across all cpus :
start=(ElapsedMilliseconds()/30)
Repeat
vbl=(ElapsedMilliseconds()/30)-start
FlipBuffers()
ClearScreen(RGB(0,0,0))
DisplaySprite(10,40,180) ; Background
ssin.f = Sin(angle.f)
DisplayTransparentSprite(0,350 + 270 * ssin, 190+15,fade) ;S
DisplayTransparentSprite(1,360 + 190 * ssin, 197+15,fade);k
DisplayTransparentSprite(2,386 + 130 * ssin, 209+15,fade);i
DisplayTransparentSprite(3,360 + 70 * ssin, 197+15,fade);d
DisplayTransparentSprite(6,340 - 260 * ssin, 254+15,fade) ;R
DisplayTransparentSprite(5,350 - 166 * ssin, 255+15,fade) ;o
DisplayTransparentSprite(4,340 - 70 * ssin, 198+15,fade) ;w
angle.f= angle.f+ 0.035
If vbl>=35 And vbl<135 : DisplayTransparentSprite(7,40,165+25) : EndIf ; Text page 1
If vbl>=135 And vbl<265 : DisplayTransparentSprite(8,40,164+15) : EndIf ; Text page 2
If vbl>=295 : start=(ElapsedMilliseconds()/30) : EndIf
If fade<255
fade=fade+5
Else
fade=255
EndIf
DisplayTransparentSprite(20,40,180)
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)