Alden,
I see your points, and they are very good.
What you suggested deserve a separate module development...
I can't promise to deliver 100% in a short while, but I can say we will deliver those features in stages.
Can we deliver in the following order:
1. Accept wait list, show status, send email, and so on.
2. Auto upgrade from Wait list to actual registration.
3. Process refund
Is that ok?
P.S. On a side note, I believe your client's event is really in demand that requires wait list for paid events.