8 lines? A luxury

We have 5 lines on our RDTs.
What we do when using telnet to a Unix machine (although the same applies to Windows/DOS) is to ignore the screen size and use frames of a certain size.
So, taking a snippet of our code:
def var this_location as char form "x(4)" no-undo.
form
"Set Location" skip
this_location label "Loc" help ""
with
side-labels 1 down frame fr_loc row 1 col 1 no-box size 20 by 3.
So, we set the frame to be no-box to stop wasting space, row 1 col 1 to ensure it stays visible on the RDT, 1 down for the same reason, 20 by 3 so that it fits nicely on the screen and help "" so that Progress does not go to the bottom of the window and display the help.
We also generally use the bottom line of the screen for program-driven messages, for example:
procedure p_error_message:
def input param inp_message as char no-undo.
def input param inp_pressakey as logical no-undo.
display inp_message form "x(20)" help "" with
frame fr_message no-box no-labels row 5 col 1 overlay.
if inp_pressakey then do:
readkey.
hide frame fr_message no-pause.
end.
end procedure.
This puts a message on screen and waits for a key press, if required, hiding the message after the keypress, or leaves it on screen.
Genrally, things to look out for are:
1. Variables that go off the screen (use fill-in with the format of the fill-in greater than the width of the fill-in)
2. Long messages (truncate them to fit in the screen width)
3. Rogue help statements and messages
4. Progress Error Messages - these appear as alert-boxes and really confuse people.
Always use pause 0 before-hide and sprinkle pause 0 no-message statements wherever you get a space bar after frames.
Once you get a framework that works, stick with it and don't get too complicated. Also, make sure that all the programs you are going to call use the standard frame sizes. Don't use browses as they are really messy on an RDT. If you want key input, try to stick with numbers, where possible, as they are easier to key in while wearing gloves in a freezing warehouse.
Anyway, hope that helps.
Simon