Check the memory? Your current area was stored in a 1 byte variable, which limits it to 255 possible values. According to someone in another thread this was changed recently, so the new the cap would be 65535, which obviously will never be reaches.
And no, it can't just be checked when zoning. It needs to constantly be in memory, just like your x,y,z position.