I've been looking for some good Geo Location/IP Services for running on a web server.  Here are a few I found to be decent.  Some even offer free versions.

ip2location - http://www.ip2location.com/demo.aspx
maxmind - http://www.maxmind.com/app/locate_demo_ip
Geobytes - http://www.geobytes.com/iplocator.htm
hostip - http://www.hostip.info/dl/index.html