Hum, wait while I scratch my head and try to figure out how you've configured everything...
So your D-link router is your DHCP server, giving out addresses above 192.168.0.100. Your WHS is using a static ip configuration at 192.168.0.3, with a gateway defined to your 2Wire modem (192.168.0.2). The rest of your network is using 192.168.0.1 as the gateway (per DHCP config). Have I got everything so far?
That setup should work just fine. The reason for the separate network for the WHS-2Wire link was to put the 2Wire on a different broadcast domain. This would prevent other computers on the network from seeing the 2Wire at all, making sure a misconfiguration won't send traffic to it. It's not required though.
The "see" thing just looks like a NetBIOS resolution error. Windows home networks have them all the time. This is because finding hosts rely on broadcasts with some wacky election rules between all the machines to decide who controls the actual "Local Network" list. When this fails, you'll have an empty local network neighborhood list even though all your machines are actually up.
There are a few solutions. The easiest one is to use IP addresses to browse your WHS shares. That works 100% and requires no configuration. Basically, in the path bar at the top of a folder window, just type \\192.168.0.3. This will list the shares on your WHS and add the server in the network objects list.
Another solution requires editing the hosts file on your 192.168.0.100+ computers. This file works like some kind of phone book for computers. You put a machine name, along with which address it has and you can access it by name. The full location of the file is : c:\windows\system32\drivers\etc\hosts. If you open this file with notepad, you can add entries in this format :
IPAddress Name
In your case, you can put say :
192.168.0.1 DLink
192.168.0.2 DSL
192.168.0.3 WHS
After you do this, if you try, say, "ping WHS" it will properly resolve to 192.168.0.3. This approach works well, but the downsides are that you have to edit that hosts file on each machine, and if your friend comes over he'll have to use the previous \\192.168.0.3 method if he can't see the server.
The last and best method is to use your WHS as both your DHCP and DNS server, but since you're using two separate gateways, that configuration is way beyond the scope of this post (also I drank too much beer
). Let me know how it goes.