Because $ip: 0 is per-request, any subsequent profile update request that does not include $ip: 0 will trigger geolocation parsing based on the IP address of that new request. As the docs state:
"Every time you set profile properties, the geolocation properties are overwritten with the location of the profile set request." [Geolocation overview]
So if a user later sends a request from a browser or app with a valid IP address (and $ip: 0 is not set in that request), Mixpanel will update the user profile's geolocation based on that IP. The previous use of $ip: 0 has no lasting effect on future requests.