Layering problems can be averted if you don't modify the HLxxxxxx.bgl file. Leave the default file(s) as is in the default supplied FS scenery, and work on your water and land polys on a new scenery declaration, both in the same scenery directory. Land and water are not mutually exclusive. That will override the default HL file. You may also need VTP excludes (layers 1 to 8) to exclude shorelines, etc., then build your own with VTP lines (can get them from polygons I believe).
The BIG problem with land polygons as opposed to water polygons - unless I missed something crucial - is, they do auto define flattens on their own. ie, you can't have the land polygons used to replace the old wrong water bounds with land, and make that land use the underlying mesh. Everything inside the polys become flat. If someone has a workaround, please, knowing how to would be very welcome and helpfull.
However, if you need control over the river elevation along its path, yeah, perhaps directly editing the default file(s) is the way to go, but consider some people don't like the concept of touching the default install.. (if you plan to release in the end)
I believe FS9 only supports per point elevation on assembled lines (roads, thin rivers, railroads), but not on poly. Water/Land polys supports on per point elevation requires FSX onwards (if I'm not mistaken).