The mesh resolution of the terrain is dependent upon the image dimensions of the input height map. There is a requirement that the image dimensions be an odd number, which is why the sample height map is sized 1025x1025. If you use an even number, the last row or column will be snipped off. The terrain component essentially builds a mesh with the image pixels defining the elevations of the corners of each quad in mesh. The size of these individual quads is determined by the x_ and z_ components of the Vector3 parameter passed to Terrain::SetSpacing, which by default are both equal to 1.0f. This means that each terrain quad will be sized 1.0 in X and Y directions. Texture coordinates are calculated from this, meaning that with default spacing the terrain textures will tile on quad boundaries. Each quad will receive the entire terrain texture, which will repeat across the terrain.
If you use a different value for spacing, this will change both the size of the terrain quads and the size of the tiling space of the textures, making the quads smaller in 3D space and making the textures tile across a larger area of the terrain. For example, a terrain with spacing x=0.5 y=0.5 would occupy half the size in world space in X and Y, and the textures would tile across it half as many times.
For the zone problem, if you zoom out such that your camera flies out of the XY bounds of the zone, and there is not a zone defined for the new area, weirdness can result. Zone settings such as fog are obtained from the zone the camera currently occupies, with some optional blending with nearby zones, but if no zone is defined for where the camera lies then it defaults fog color settings.