Yeah, I've given some thought to this type of configuration late last year, Maintenance is a small hiccup, the only way to do it is to monitor the usage and sadly enough, the solution is to prioritise the not so bandwidth intensive users so they have a pleasurable browsing experience.
You have to keep in mind the type of users in a complex. in an office environment, people are too busy working to bother leaving kaZaa/shareaza running full time, and policy generally restricts it, but in a complex, 60% of users have kids between 10 and 18 years old, this age group is particuarly renowned for music/movies sharers/downloaders.
2nd issue, given the nature of the connections, I'm not too clued on adsl accounts/lines/ip's, are IP's allocated by line, or account, if by line, you have to have a brilliant NAT system in place, people will not accept the fact that they paying for a service, and cannot use MSN file sharing/voice.
Do a little research on it, and you'll see that the only way for it to work, would be a uPNP PROXY/Firewall, or port forwarding, since there are 20 users, port forwarding is not an option (MSN Uses ports 4096 through 65537).
I've managed a solution when I was researching it, but it wasn't too stable. Its a damn pity the most popular messenger is so CR@P