I had 2 problems causing the
Waiting to Join message.
1. Teleporters will prevent a player doing so on the joining machine. Lifts are OK.
2. If you get the
Waiting to Join message - the person on that joining machine needs to exit back to the previous screen where you chose to
join an active game and reselect the option and reconnect/reload the game level - that should clear the message.
If neither of these things work then either there is an offending object not allowed in MP games in there is another bug holding up the connection.
Some say Firewalls can cause the problem and it may be the case with some systems - that I have never been able to prove as neither Windows Firewall or Zone Alarm Pro which is what I use have ever proved to be preventative when those other 2 issues are corrected.
Of course your Firewall on the server machine whichever Firewall you use does have to be informed that your server machine (host)should be allowed and given permission to act as a server and likewise on the joining machine the game .exe should be cleared and given permission to receive data/connections from the host. That goes without saying.
Zone Alarm Pro which I use has an option to disable the Windows Firewall completely which I do and it does so effectivvely taking full control over everything that goes in and out of every port - given that you supply the various correct information.
Hope that helps though MP and that particular problem crops up a great deal - probably for various reasons as everyones system and setup is different.
MP does have bugs too so hopefully yours is not a permanent problem.
If you cant get a fix - try making another level or more than one - simple levels with the bare minimum content required to set up an MP game - that way you have little to interfere and test those out. If you can get one game to work it would help isolate your problem - you need some proof as to whats causing the error by narrowing down the options for error.