Since you are creating the terrain with AddVertex, maybe you could use a big texture that contains all the textures that you'll need as 'tiles' (sort of an AnimImage), with the needed crossovers, and then apply the different tiles using the mesh terrain's uv coordinates ? This way, it would only need one single texture layer.