Lock full servers? What sense does that make? That would be a very big mistake. I am sure there a lot of players going to servers to see if that server suites them (latency, player base, etc) and when they find out it does not work, they move to the next one. You then have a "locked" server with possibly thousands of open slots.
A queue system is the best way to go. If a player logs out, then the next person in line gets in. One thing I would like to see an improvement on is the queue system itself. In WoW, for example, if I get DCed or log out my spot is held on that server for a certain amount of time (Don't know how long). It was not always like this, but it helps with players that might have random DC's.