Y si añadimos estas líneas en el método KeyDown() de TRichEdit(), vemos que la tecla VK_TAB llega, faltaría solo intercalar Tab en el texto (usando el método SetText()), pero el foco sigue saltando al siguiente control. Eso es lo que nos falta solucionar:
METHOD KeyDown( nKey, nFlags ) CLASS TRichEdit
if nKey == VK_TAB
MsgBeep()
return 1
endif
...