None of the consumer routers I've seen in the past decade actually DNS resolution, but do one of two things - either pass the ISP's DNS server addresses out to DHCP clients, or act as DNS forwarders, and pass the DNS requests out to the ISP's DNS servers to be resolved.
Either way - there is no DNS server on the network to do name resolution of the local host names, and this can cause the problem that jamieburchell is alluding to - however - I'm sure you want to know why the name gets resolved when ping is used.
Although Microsoft Windows does use the industry standard methods to resolve names to addresses, it also has a few other methods of it's own - in addition to DNS, there is WINS and NetBIOS name resolution.
Like DNS, WINS needs a WINS server on the network, but NetBIOS (or NetBEUI) which was designed for small networks, does not - the problem is that NetBIOS resolution is unreliable, even in a pure WIndows environment, and more so in a mixed host environment which is what happens when a linux host such as the DNS-323 is added.
The only way to get 100% functional name resolution is to add a DNS server to your network, one work around is to use the hosts file.