This has been talked about a lot. I posted it as a bug once and it got a bit heated with someone else saying 'No it's not a bug' but without explaining it. After quite a few months there was finally an explanation, so here goes...
Alpha blended objects are all rendered after solid objects and don't set the Z buffer (for speed) and because 3D graphics cards don't bother sorting polygons (this does't matter for solid objects) you sometimes get objects draw in the 'wrong' order, this is especially noticable when you have large transparent objects like your sea.
So it's basically a limitation in the technology we currently have on 3D graphics cards and the only way round it is to be careful with transparent objects.
Alpha blended objects are all rendered after solid objects and don't set the Z buffer (for speed) and because 3D graphics cards don't bother sorting polygons (this does't matter for solid objects) you sometimes get objects draw in the 'wrong' order, this is especially noticable when you have large transparent objects like your sea.
So it's basically a limitation in the technology we currently have on 3D graphics cards and the only way round it is to be careful with transparent objects.