you’re on the right way, but some tags of your multipolygon and its members are wrong.
First of all, the outer ways (like http://www.openstreetmap.org/browse/way/200052270 ) should not be tagged with waterway=riverbank, this tag belongs on the relation. Some other outer members seem to originate from an import and have the tag area=yes; it should be removed, too. And finally, you can delete the name tag from these ways, it is usually not used on the riverbank areas, only on the waterway=river way. So the only remaining tag on the outer ways is source.
The inner areas are OK.
That leaves the relation and its tags. Remove the natural=water and replace it with waterway=riverbank. Again, the name tag should be removed. What remains on the relation are the mandatory tags type=multipolygon and waterway=riverbank, plus water=river if you want to keep that (it has no impact on the rendering).
That’s all, it should work now. Explanation: The tags defining what the “area with holes” actually is (riverbank in this case) belong on the relation itself. The outer ways should not have tags that affect the rendering.
In general I’d recommend to separate the riverbank segments, using one relation per closed outer way. The one giant relation with many outer ways is very confusing.
To be more specific, two outer elements in the same multipolygon must not share more than 2 nodes. In this case some contiguous riverbank segments (outer ways) share 2 nodes and this is an error, so you have to separate them into different multipolygon relations.
Hope this helps, good luck with the Canadian rivers.
It definitely wasn’t the only problem, so it is hard to say if it was responsible for Mapnik’s problems to interpret the conflicting tags.
But you’re right, some sections of the Wiki page on waterway=riverbank recommend using the tag on way elements that form an advanced multipolygon (i.e. one where several way elements form a closed outer ring). That seems very strange to me since it redefines an area tag into a tag for (non-closed) ways that would’t be rendered at all. A new tagging schema is cited as source for this paradigm change, maybe the author of the changes can clarify what he meant. To my knowledge there is no renderer that shares this interpretation.
In this particular case, the outer elements were closed ways. With this kind of multipolygons, I think it is useful to put all tags that concern the area of the multipolygon (i.e. without the “holes”) on the relation only. That is unambiguous, and all data users should arrive at the same result. When you start putting the same or even contradicting tags on outer ways and relation, the renderer is forced into guess work. The results may vary between different data users. The Wiki page on multipolygons clearly recommends the first way of tagging.