Most of the time I open up my 360, I have to unplug then plug back in the ethernet cord to connect to Live. I had to check if it was my 360 or the cable, so I plugged the same cord into my PS3 and PC, and both connected with no problems. And most of the time on the 360 I don't unplug the cord, I just start up any game and then it connects!
So its not the 360, its not the cable and its not dust. Im guessing a router issue. I have all necessary ports open for several months, but firewall is ON, i've heard that it needs to be set to OFF, but i've also heard that its not safe.
First, do you have DSL? If you do you may have to put the router into PPPoE mode and put the modem into bridged mode.
You forward ports? do you forward ports for the PS3 too? Ignore what they say about forwarding port 80 and 53 to both the 360 and the PS3. If you made that rule, delete it.
Do you share the cable with the PS3 and PC? I mean are all pllugged in with their own cables or do you move a cable between them? Don't move a cable between them. If you only have one cable (like if the router is in another room, and you have one cable going to that room) then get a switch.