The screen shots show z-fighting, i.e. the zbuffers accuracy isn't high enough to separate the ground and the water, because they are too close together. The reason why this increaes when moving the camera further away is, that on most hardware actually not z will be stored but a/z (with a being some scalar). That's pretty accurate close by but the inaccuracies increase if z increases, i.e. accuracy isn't linear in camera/clipping space.
You may try different things: a) Move the water away from the ground. b) Decrease the far clipping plane. c) set Config.glIgnoreNearPlane to false (the docs of this switch are reversed, i'll correct this) and increase the near clipping plane (this will move the scene close too the camera...so don't increase it too much, or you'll end up with a very distorted scene).
The random polygon seems to be a driver (unlikely) or a hardware problem (more likely). You can play around with Config.glBatchSize and Config.glDynamicBatchSize to see, if this changes anything. Which graphics hardware is that?