Hola kenobi.
Lo que sucede es que el retardo lo tenes que poner cuando "dibuja" el texto, interceptando el evento
OnDrawItem del ListBox.
Asocia este código a dicho evento:
Código:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with ListBox1 do
Canvas.TextRect(Rect,Rect.Left,Rect.Top,Items[Index]);
Sleep(50); // o lo que quieras...
end;
Saludos.