I guess forcing ppl into teams can only be done in client_putinserver since on client_connect they are still connecting, and you should AlWaYs tell the user why they were forced to join a specific team.
Then bind a function to the command clients use to choose teams (sry, forgot it

) which displays a msg "You aren't allowed to switch teams yourself here." or something, to prevent ppl joining the team they want to after playing a round or two...
I'm not sure if you can prevent this "initial" team selection menu from showing up at all, since client_putinserver is actually called if the client chose a team. But I guess it is the only way to get what you want, just write into the MotD of the server a line like "Choose your team, but don't think you'll always get the team you want

" to make clear whuzzup ^^
Greetz MGee
__________________