It is my understanding that zinc anodes develop a "coating" when exposed to fresh or even brackish water. This coating does not come off by itself, it must be scrubbed off, and it insulates the anode stopping or drastically slowing down the protection the anode should otherwise provide.
Therefore the recommendations I have seen state to use zinc (or aluminum) if only in saltwater, use aluminum if moving between salt and freshwater (many here moor up the Fraser River but usually operate in the ocean - so aluminum is best for them), and use magnesium for freshwater only.
That would include your engine anodes, but aluminum engine anodes are not readily available. You can order them from Performance Metals. I switched to aluminum engine anodes as I freshwater flushed my engine regularly.