En el código que describen no se verifica que el mensaje sea el correcto. Por Application.OnMessage pasa una multitud de mensajes, no sólo las pulsaciones del teclado, así que debieran modificarlo un poco:
Código Delphi
[-]
if (Msg.message = WM_KEYUP) and (Msg.wParam = VK_RETURN) then
Msg.wParam := VK_TAB;
No sé si con esto ya les funcione (a mi me funciona sin problemas) pero al menos hay que empezar por cuidar estos detalles.
// Saludos