When your friend types a URL into the address bar, and clicks 'Go', it's forwarded to TalkTalk's domain name server (DNS) which converts it to a numeric IP address. For example, 'www.google.com' is converted to '72.14.221.104'.
When a page is bookmarked the site's IP address is (I believe) stored within the browser. So clicking on a bookmark will bypass the DNS since the 'true' address is requested immediately by the browser.
It seems that your friend's browsers are failing to connect with TalkTalk's DNS. Typed URLs aren't being converted to numeric IP addresses, so those sites can't be accessed. However when the browser already knows the required IP address (because it's stored within a bookmark) it's possible to access a site.
Possible solution:
Click 'Start > Control Panel > Network Connections'
Select the local network which provides the connection to TalkTalk
On the General tab click 'Properties > Internet Protocol (TCP/IP)'
Click 'Properties'
Click 'Use the following DNS server addresses'
Enter the primary DNS server as 62.24.199.13
Enter the secondary DNS server as 62.24.199.23
Click 'OK'
Chris
PS: The DNS addresses given are those for TalkTalk. It doesn't matter which way round they are. (62.24.128.18 and 62.24.128.17 should also work). There's actually no reason to use TalkTalk's DNS. Your friend could also use OpenDNS (by entering 208.67.220.220 & 208.67.222.222) or DNS Advantage (156.154.70.1 & 156.154.71.1)