yo pongo los pause, solo después del primer fadescreen, más o menos así.
pause 0x20
además, si quieres que el movimiento se ejecute mientras se oculta la pantalla con el fadescreen, mete el applymovement entre los dos fadescreen. Te quedaría así:
trainerbattle 0x3 0x1 0x0 0x880048A
msgbox 0x88004A9 MSG_KEEPOPEN
fadescreen 0x1
pause 0x20
hidesprite 0x4
applymovement 0x5 0x88006BB
waitmovement 0x5
fadescreen 0x0
msgbox 0x88004E1 MSG_NORMAL
setflag 0x800
setvar 0x5000 0x3
warp 0x4 0x1 0xFF 0x2 0x5
end
si también quieres que el warp se ejecute dentro del fadescreen, repite el paso de poner el applymovement dentro, pero con el warp.
luego el resto, es medir el tiempo del pause, para que dure el tiempo correcto.