OK right then this is going to be one of those 'divide and conquer' fixes.
You say that your two housemates don't have a problem so that would indicate that the modem and actual internet connection is ok. So firstly have a look at one of their machines, run an ipconfig /all command, make a note of the IP addresses, subnet mask, router address and (especially) the DNS address. Also just check that they have dynamic IPs-if so and the addresses are renewing properly that that would indicate that your router is probably fine.
Then on your machine check that the network connection is set to dynamic IP addressing (probably is since you say that you have tried plugging directly into the modem and it did-temporarily-give an IP. Incidentally when ever you plug something new directly into the modem you have to power-cycle the modem for it to recognize the device so your experience with plugging the laptop in was exactly as expected), and that the address being given is in the same subnet range as your flatmates'-but obviously not the same client address!
Since you say that you are receiving and sending packets, that would indicate that your network adapter and IP stack are working. If you are still not getting a proper IP address, then I'd be tempted to hard code a static address into the PC. Once that is done then try firstly pinging 127.0.0.1 (to verify that the IP stack is up), then your own address, then the router address, then a website-personally I tend to use
www.cisco.com on the grounds that unless you actually work in IT do one in their right minds ever looks at the CISCO site so it's very unlikely to be cached. If all working ok then try browsing.
Now oddly enough only last week I was asked to look at a friend's home setup who described almost exactly the same issues as you except when they could get onto the network, the speed was so low as to be unusable - we're talking 5 kb/s here-wireless laptops were just fine though. I took her PC home, scanned it for the usual nasties and it worked just fine. Back at her house though, useless-turned out to be the Netgear ADSL router. The wireless part was working fine, the WAN side was fine but the ethernet ports on the back were jabbering. I've fixed her up with a temporary USB wireless dongle until she can replace the router.
Hope this has given you somethings to think about and try.
Good luck
John