John, what I do is to use the Enter key - Set the form's keypreview to true, then assign the form's keypress event, and check for the nominated key to move focus to the next control - example for using Enter:
procedure TForm1.FormKeyPress(Sender:TObject; var Key:char)
begin
if Key = #13 then //Enter is #13
begin
form1.SelectNext(form1.ActiveControl,true,true);
key:=#0;
end;
end;
You can also change the key used; example down-arrow etc.