Hi.
From the laptop; can you ping the router?
I'm not sure if I understood fully what you said, did you say that the laptop will connect to the router and appear to be fine but can not connect to the internet?
If the laptop does appear to connect to the router then I suggest you try the following (no particular order - just some thing to try):
Ping the router
Ping the desktop (when both are connected to the router)
Try using the desktop to ping the laptop
(if all of the above work then try pinging google)
If you can ping the router, and if you can ping the desktop try trace routing:
in a DOS window/command prompt typ
Replace the xxxs' with the IP addess of your desktop - see what message you get.
If this works try trace route to google or the BBC or something again look for messages it may help identify were the connection is failing.
The problem appears to be you laptop more than anything else so check the routers config/setup make sure you have not enambled mac eddress filtering or something like that - if so then you'll need to add the MAC address of the laptop to your router (I think this is unlikely as you said you tried 2 routers)
I think the problem may lie with Windows, if you have XP then for now disable the Windows Firewall - if you have any other firewalls on the laptop - disable those as well - see if you can now connect to the web. If disabling the firewall (remember to turn off the Windows firewall) works then let us know and we can advise as to how to get the firewall to allow normal traffic through.
Hope this helps