[Windows Mobile Apps and Games] holmanm:
Here's my thinking:

With GPS off, Latitude and Longitude won't change until switching to a new Cell Tower. So Googleing Lat and Long won't show new city, state, zip untill Cell Tower changes anyway.

With GPS on, Latitude and Longitude will switch constantly. So Googleing Lat and Long every ~5 minutes would constantly use radio and drain battery even though City, State, Zip won't be different that often, especially when driving in rural areas or around the same town.

So right now using the following code, I am checking the LastCell every 5 minutes and if it has changed since last checked then I google the Lat and Long to get the City, State, Zip.

# USER SETTINGS, CHANGE AS DESIRED
# how often to check cel tower
delayminutes = 5
lastcell = RegRead("HKLM","SOFTWARE\Mach2003\CellTower\","LastCell")
oldcell = RegRead("HKLM","SOFTWARE\Mach2003\","OldCell")
GetTime(hour,min,sec,day,month,year)
# set up for next notification
utime = TimeStamp() + (delayminutes*60)
mort = SystemPath("ScriptExe") & "\MortScript.exe"
script = SystemPath("ScriptPath") & "\" & SystemPath("ScriptName") & SystemPath("ScriptExt")
# kill any lingering notification
RemoveNotifications(mort, script)
# set notify for myself at next time
RunAt( utime, mort, script)
# Quietly ignore all errors
#ErrorLevel("off")
if (lastcell = oldcell)
exit
endif
# only bother if cellular radio is on
radio = RegRead("HKLM", "\System\State\Phone", "Cellular System Available")
if (radio = 0)
exit
#message ("radio off")
endif
# try to connect
connected = RegRead("HKLM", "\System\State\Phone", "Cellular System Connected")
if (connected=0)
Connect("Media Net")
#message ("connecting")
Sleep(15000)
endif
# do we have internet?
if (not InternetConnected( "[URL="http://www.google.com/"][COLOR=#0000ff]http://www.google.com[/COLOR][/URL]"))
Exit
#message ("not connected")
EndIf
latitude = RegRead("HKLM","SOFTWARE\Mach2003\CellTower\","Latitude")
longitude = RegRead("HKLM","SOFTWARE\Mach2003\CellTower\","Longitude")
link=ReadFile("[URL="http://maps.google.com/maps/geo?output=xml&q="&latitude&","&longitude"][COLOR=#0000ff]http://maps.google.com/maps/geo?output=xml&q="&latitude&","&longitude[/COLOR][/URL])
pos2 = Find(link,"<address>")
If (pos2)
pos2 = pos2 + 9
len = Find(link, "</address>",pos2)-pos2
address = SubStr(link,pos2,len)
city = Part(address,",",-3,1)
state = Part(address,",",-2,1)
utime=FormatTime("h:ia {M}, d")
address = utime&" @ "&city&", "&state
RegWriteString("HKLM","\System\State\Phone\", "Address", address)
zip = Part(state," ",-1,1)
RegWriteString("HKLM","\System\State\Phone\", "ZipCode", zip)
RegWriteString("HKLM","SOFTWARE\Mach2003\","OldCell", lastcell)
EndIf
Exit

This works OK, but if the script runs and the the Cell Tower changes 10 seconds later, I have to wait 4 minutes and 50 seconds until my homescreen shows the new City, State, Zip. Not a big deal but I was hoping I could fire the script as soon as the LastCell changes automatically.

Here is the code I can fire up when I'm looking for a certain address.

# USER SETTINGS, CHANGE AS DESIRED
# Quietly ignore all errors
#ErrorLevel("off")
run("\Windows\GpsModSetup.exe")
Sleep 10000
# only bother if cellular radio is on
radio = RegRead("HKLM", "\System\State\Phone", "Cellular System Available")
if (radio = 0)
exit
#message ("radio off")
endif
# try to connect
connected = RegRead("HKLM", "\System\State\Phone", "Cellular System Connected")
if (connected=0)
Connect("Media Net")
#message ("connecting")
Sleep(15000)
endif
# do we have internet?
if (not InternetConnected( "[URL="http://www.google.com/"][COLOR=#0000ff]http://www.google.com[/COLOR][/URL]"))
Exit
message ("not connected")
EndIf
SetMessageFont(24,"Tahoma")
While (WndExists("GpsMod"))
latitude = RegRead("HKLM","SOFTWARE\Mach2003\CellTower\","Latitude")
longitude = RegRead("HKLM","SOFTWARE\Mach2003\CellTower\","Longitude")
link=ReadFile("[URL="http://maps.google.com/maps/geo?output=xml&q="&latitude&","&longitude"][COLOR=#0000ff]http://maps.google.com/maps/geo?output=xml&q="&latitude&","&longitude[/COLOR][/URL])
pos2 = Find(link,"<address>")
If (pos2)
pos2 = pos2 + 9
len = Find(link, "</address>",pos2)-pos2
address = SubStr(link,pos2,len)
sleepMessage(10,Address)
EndIf
EndWhile
Exit

It starts GPSMod to use GPS and then Googles the Address at the current location every 10 seconds. Some times it shows a certain address (103 Main St. ...), some times just a range (200-210 Main St. ...). but it gives me an idea of what block I'm on without having to try and find house numbers. I just exit GPSMod and the script automatically aborts. See attached screenshot.

I do wish GPSMod showed speed in MPH and altitude in Feet, I would then use it as my speedo while driving, but again, no big deal.

Thanks