Using your code we can reproduce that issue. Support will submit a bug, thanks so much for reporting it.
To summarize:
This zooms to the correct point:
AGSPoint *zoomPoint = [AGSPoint pointWithX:-13161494 y:4040965 spatialReference:[AGSSpatialReference webMercatorSpatialReference]];
[self.mapView zoomToScale:18035.742100270665 withCenterPoint:zoomPoint animated:YES];
This zooms to point 0,0 in the map:
AGSPoint *zoomPoint = [AGSPoint pointWithX:-13161494 y:4040965 spatialReference:[AGSSpatialReference webMercatorSpatialReference]];
[self.mapView zoomToScale:18035.742100270665 withCenterPoint:zoomPoint animated:NO];
The only difference is the animated flag. A workaround for now is to create a AGSPolygon from that point or an AGSGeometry.
Thanks again for reporting this.