My ISP is located about 200 miles away and Google often thinks I am located in that city, 200 miles away, and shows me "local ads" when I visit a site that displays AdSense or when I do a search at Google.
So how accurate is the geographic targeting?
FarmBoy
I would expect Google's geo-targeting to be roughly as (in)accurate as that.
I have noticed that larger ISPs, IP routes often do not respond to various querries - in essence masking their location and path.
This would explain why a nearby large city (the base of, or large POP of the ISP) would show up, instead of the end-point.
There was a thread about two months ago about this subject here. Apparently, AOL users all show up as being in Virginia (I think) because AOL servers are located there. In Canada, half of Quebec users show up as being in Ontario because most use Bell as their provider and the servers are in Toronto. The distance between Montreal and Toronto is over 500 km, so that is a problem.