This is a known problem and it's documented.
For more details, see:
Geolocation tips, quirks, and possible bugs (flash.sensors.Geolocation)
"The first location event received is usually NOT the current location.
It is often the “last known location” or the cached location."
and the documentation (Update event) :
"Note: AIR dispatches the first event immediately if the device has a last known location;
your code must be aware that the initially dispatched event may not contain the current location."