My device's samba name and hostname is 'storage' I cannot seem to use this hostname from my computer to access the device - I can't even ping it! So I have to use a IP each time and these are dynamic on my LAN so it gets a bit tricky.

Yes I can, but it can be complicated to explain….
I assume you are using a Windows client…. (or you would have found out the reason already)

Your WDHD's hostname is passed to the DHCP-server of your network. Often this DHCP-server co-operates with the DNS-server on the same machine. This DNS-server will take the hostname and glues the local domain name of your network to it. Sometimes it is empty.

So your WDHD really has nothing to do with the mechanism to convert a hostname to its IP-address. It's your DNS-server and how well it works together with the DHCP-server. If they don't co-operate (maybe they are on different machines) it's impossible to determine the address of that hostname…

I can tell you a trick to test which hostname can be used. Just go to your Windows prompt and give the command:

nslookup <ip-of-WDHD>

If your DNS-server is properly configured, it can tell you the WDHD's name..
If it doesn't you will have to change your network-setup (not drastically most of the time)

If you give me an "ipconfig /all" of your network and tell me which machines those IP's represent I can tell you who or what's at fault.

Your DNS-server is on your ISP's network (Tiscali) and of course they don't know your worldbook's name nor its IP-address.
This is because your router's DHCP-server tells your Windows system to use your ISP's DNS-server.
It would be better if it gave itself (192.168.1.1)… This may be a config-problem on your router….

If you go to your Windows IP-configuration you can make 192.168.1.1 as your primary DNS (DHCP can stay enabled) and your problems may be over (nslookup 192.168.1.65)

Your Linksys router should be reconfigured or upgraded to a proper firmware. ( http://www.dd-wrt.com )
I already noticed "domain_not_set.invalid" which means the local domain is not set in your router.
There's probably a field called "local domain" or "lan domain" in your router's setup which should be filled with something like "freeman.local"