Regarding the problem where my system was using dns rather than looking up the hosts file first, I solved it myself.
I didn't realise that there were in fact TWO versions of resolv.conf. One lives in /etc/ while the other (which is activated at dial-up time) lives in /etc/ppp/resolv/provider All I did was add the line "search ." to the top of both files and it works