I have to check the code again. However, I think the way it is working at the moment make sense to me
There is no reason to allow users to join waiting list when he is already a registrant of the event. So I guess if he wants to join waiting list for some one else, he should use a different user account
Maybe we have an event about parent & children 's game.
Mother have registered book for first children, later she wants to register for second children , but the event is full, so she can't register event anymore.