I don't know if I should concentrate on wait windows or error handling.
Well, wait windows don't "stack up", you only ever have one, the nowait tells VFP to continue with code, and if that doesn't produce another wait window the timeout time tells VFP when to remove the wait window. But if there is another wait window, it replaces the one that didn't yet time out.
You don't have a clause that forces a new window to be created, so you would need a replacement that should be based on a non-modal form, which means it works like the nowait part of a wait window. Well, the only missing thing then is a timeout. That's doable with a timer.
And now I go back to the initial question I ask myself, should I really just focus on that aspect alone. It's very questionable to react to an error just with a wait window and continue to execute. Even only letting slip through some specific errors like wrong argument types, simply rejecting to compute and return a function result, you end up with a state at the caller of which you never know what it causes.
In general, continuing in an error state can cause tables to become corrupt, in the end cause fatal C5 errors hard to debug or anything. You can do controlled error handling with TRY CATCH. And error suppression and continuing with the code can work, if whatever would happen in the normal non-error case was optional anyway.
Still, usually you halt on an error. The default system error handler is a messagebox that's stopping everything and does not time out.
So, I don't see a reason to actually help you with your goal of getting multiple wait windows happening. You have a basic recipe of a non-modal form able to act as a wait window, you could use an editbox within it to display one, or if the form already runs, display multiple messages, one in each line, and automatically extend. So you'd hold on to only one extending wait window. I still don't see the use case for error handling. This could work as status messages, log display, or such things, but shouldn't be used for error handling.
Chriss