That's a tricky one, especially since Serv-U events aren't really built to have a lot of outstanding asynchronous calls.
If I was designing this one, I'd probably set my events up to dump as much information about the trigger into a queue (e.g., a database ordered by submission time), and then let the event finish. Then I'd have my user-facing application work off that database, executing commands as people show up and take action. (You could also write a little timer to remind - e.g., email - people if events sat in the queue for too long.)
Can you shed a little more light on the application?