Again, I love the caching of map tiles that GCDroid does. However, some of my tiles are several years old, and they potentially has changed on the tile server by now. Quite likely in the outside areas of cities where new construction is happening all the time. Or satellite images which are "regularly" updated. Most important for Openstreetmap though, since it's community updated.
I would suggest the following change in the flow.
1) Use whatever tiles that are cached, exactly like now.
2) If the tiles is older than X days (configurable, 30-1000 maybe), use that tile while fetching a new fresh one.
3) Replace the used map tile with a new one once fetched, if they differ (crc32 or similar).
Not sure what is actually doable with the map library you are using, but this is my suggestion without any technical insight. You can probably figure out variants that technically works out.
Customer support service by UserEcho