Mate, you've create a pissing war with very little indication of what you'd like to change here (except the laws of physics). Let's look at this for a bit, you piss on Afrihost and MTN for not doing something... not caring really if that was true or not, might I ask what you want them to do? Do a rain-dance that can turn back the sands of time so they can fix the supposed screwup? Well, sure, but I don't think they know that dance, care to teach us oh mighty one?
Okay, let's look at this: Your Google comparison is a bit off - I have a certain level of control on what Google indexes. I hint them with my content changes via sitemaps (and it will literally take 24 hours until new content is indexed). I have control of what content should/should not get indexed and Google adheres to this. Google for example knows that if I have a robots.txt exclusion or provide a certain HTTP-status code pages will be removed from the index. All quite simple.
Geolocation services such as MaxMind use regional internet registries (such as Afrinic, Ripe, Arin etc) as the primary source of a refresh and use secondary sources and then clean the data and provide updates. Since the network allocation of IP ranges does not change often, GeoIP services will refresh data once a month on IP-ranges (including city data etc). So it becomes very predictable that certain tasks need to be executed in order for my IP-range to become available to location based service providers. In simple terms I compare this to a similar exercise as updating your DNS records (and taking the time-to-live for propagation into account) before your website becomes visible to the world. Aspects/requirements which are not a foreign concept for anyone in the ISP industry (even more so if you work with networks and provide internet services to customers).
As I said before, I appreciate the fact that errors happen. Since MTN provides Afrihost with the core-service, and Afrihost sells this service as an ADSL product to their customers I would have expected that Afrihost provided better communication. As said, I exhausted the official channels and used this channel to perhaps get more clarity which did not surface. There would have been nothing wrong by communicating "Sorry, we forgot to do this in time or check up on it" - at least from the comments provided it appeared that something was done, but it was then ".... left for geo-location providers to pick up the data". I personally never liked the "not my problem" attitude and I think whoever was responsible should have stepped up and provided at least some clarity.
Your pseudo code example is nice, but grossly oversimplified. What you are missing in this equation (and things we had to "hack" as it affected 4,500 users in 3 days) is for example this:
- security appliances blocked an IP range whose origin (i.e. geo-location) we could not determine
- internal fraud mechanism flagged an unknown IP range (since we don't know it's origin, it is classified at the same grade as an anonymous proxy)
- payment fraud checks increased the risk profile of users (i.e. your card's BIN could not be matched to an unknown geo-location)
- acquires rejected payments for the same reason and fraud checks needed to be relaxed
- external fraud checks (velocity checks and credit card fraud mechanisms) failed
- location based services could not route traffic appropriately (so end-user experience turned poor - i.e. web-browser time dropped from 3.1 seconds to 4.7 seconds for a select user base)
- geo-targeted advertising campaigns (Google, Facebook and others) failed to deliver to that specific user group
So all in all plenty of headaches and bypasses we need to do in order to continue serving our customers safely and reliably. What I did explain to Afriman (and his executives months back in a similar issue) is that our business carries a huge social responsibility (a large number of our sellers are upstarting businesses, retirees or skilled people having been retrenched) and as such it is heartbreaking to try and help users unable to login (just because of a stupid IP-range not being in a database) and request their payout so that they can buy groceries for their families <--- NOW this is the real big picture and has everything to do with why I am so "high-strung" as you say I am (I am passionate about our business and perhaps care too much - but nothing wrong with that?)
Anycase, hopefully everyone got a bit wiser and perhaps communication will flow better in future and issues like that will be handled better in future.