Could have a slight protocol change...
Click join game... if server sees that its full' ,it'll send the client the full thingy, along with putting them into a queue.. once somebody leaves, the server will send a successful join thing to the client.. once "cancel" is clicked, or another server is selected, the client will send out a "delete me from queue" packet..
May be a little much work, but it would be nice. This way you don't have to deal with the flooding with packets..