Linksys routers are kind of known for dropping when a large number of connections is present. I hacked HyperWRT onto a WRT54GL a while ago and it made things fair bit better. Then I bought a WAG54G (router + modem) and that's been pretty good with the Linksys firmware. I haven't reset it in months, and over that period I've had several torrents with 200+ connections. The wireless signal is decent (makes it from one end of my house to the other without trouble) and the stability is better than it ever was on the Linksys firmware of the WRT54GL.

If a router is dropping due to having too many connections, switching to ethernet or USB won't make a difference. The 'number of connections' refers to the incoming TCP/IP connections the router has to deal with, not the number of wireless clients connected to the router.

Your wireless dropping out was probably caused by some kind of temporary radio interference. Like a phone/microwave/large solenoid that sits near your router. Try doing a factory reset on the router to give the firmware a good kick.
Do you have concrete floors/walls, or lots of wires running between the router and where your roommate can't load pages? There is probably something electrical or very solid killing the data in transit. The strength that the laptop says the signal is isn't always accurate, so don't trust it (or its wireless card). Can you get it to work when it's closer to the router?
When the laptop kicks you off of the network, it's almost certainly due to an IP address conflict, or more specifically that no two computers are allowed to have the same IP address on a network and both computers are trying to lease the same address. What you need to do is set static IPs on each computer, Google will tell you how, very smartly if you need to find out.