My web host (www.freeasphost.co.uk) runs their IIS server behind an apache firewall. This means that Request.ServerVariables("REMOTE_ADDR") nolonger works properly because it returns the IP address of the apache server rather than the usere's IP address.
So I was pointed in the direction of Request.ServerVariables("HTTP_X_FORWARDED_FOR") which does return the users IP address. Problem solved.
I thought somebody might find this useful if their IIS server is behind a firewall.