Jeff, if you're using Nomads, you might be able to do this with a Dependency Definition. The dependencies are very good at checking everything and updating the screen as needed anytime the user interacts with the screen. I'd prefer the dependency since I hate to just put a WAIT on the message, since that prevents the user from doing anything for the entire WAIT time. Displaying a message using a dependency would allow the user to continue working, and the message would just clear once Nomads had to do anything after the specified time had expired. If the user didn't interact with the screen until long after the time had expired, the message would still be displayed since nothing happened to trigger the dependency checks. You could get around this by adding a timeout check to the screen. Leaving the message on the screen until the user interacts with the screen again might not be a bad idea, since it gives an indicator of what the user was doing before they took a long pause.
For example, I created a panel with several controls, including a multiline named ML1, a multiline named FLASH, and a checkbox named CHK1. There is no logic associated with any of the controls. I then added a dependency as shown below:
Condition=flashtim>0 or not(nul(ml1$))
Invert=N
Depend Logic=Execute tn=(jul(0,0,0)*86400)+num(dte(0:"%S"));if tn>flashtim then flash$=$$,flashtim=0 end_if;if not(nul(ml1$)) then let flash$=ml1$,flashtim=tn+5,ml1$=$$
When processing the screen, any text entered into the ML1 box will be displayed in the FLASH box for a minimum of 5 seconds, unless ML1 is changed to something else. After 5 seconds, FLASH will be cleared as soon as Nomads does anything. Almost any interaction with the screen (even just tabbing between controls, or clicking on the checkbox CHK1 even though it has no logic) will cause Nomads to check the dependencies, and reset the flash message if the time has expired. As noted, you could also set a timeout of 5 seconds on the Nomads screen if you really wanted the message to be cleared after 5 seconds even if the user wasn't interacting with the screen.