Just noting that whenever you use tools like PING and NSLOOKUP you should enter the hostname with a final period like this:
ping developer.worldweatheronline.com.
Otherwise, your DNS client will think that it needs to suffix that with the default domain name for you. The ending period means "this is all, don't add a suffix".
I'm running the following on my computer:
c:\> nslookup
> developer.worldweatheronline.com.
Server: mylocal.server.local
Address: 192.168.0.2
Non-authoritative answer:
Name: developer.worldweatheronline.com
Address: 78.137.123.255
> server 212.60.61.246
Default server: ns4.fcom.ch
Address: 212.60.61.246
> set q=ns
> set d=2
> set domain=worldweatheronline.com.
> worldweatheronline.com.
Got answer:
HEADER:
opcode = QUERY, id = 4, rcode = REFUSED
header flags: response, want recursion
questions = 0, answers = 0, authority records = 0, additional = 0
*** ns4.fcom.ch can't find worldweatheronline.com.: Query refused
I would say that the people there have either failed to setup their named.conf file properly... or they've chosen an interesting (bad) IP address for their server by using what is normally considered a broadcast address of xx.xx.xx.255. Some computers assume that .255 is a broadcast address and some don't. This could explain why one client behaves differently from another.
Something else to note is that DNS lookups can sometimes involve three computers: 1) your workstation makes the lookup request from your local router, 2) your router then makes the query on your behalf and uses your address, 3) the distant DNS server then attempts to respond directly to your workstation. In some cases, this un-initiated inbound attempt for that foreign server to respond directly to you fakes out your firewall so it blocks the response.