What should happen:
The falling powder entity turns into concrete block when it attach to water. 1hcuROT.png
What happened instead:
It destroyed all water blocks below. b9H7jmi.png
Based on 17w06a decompiled using JD GUI and cfr
The entity falling_block with concrete_powder as block replaces water if it touches it with the concrete powder block. This relies on a method of the concrete powder block to then turn it to concrete (amo.e). This method will however only turn the concrete powder to concrete if it finds water in the horizontal directions or above. Therefor the concrete powder will start falling again.
This could maybe be solved by having a method like getStateForPlacement for block states which is called in general before a block is placed naturally (player, falling block,... but not /setblock). This method could then detect that there is water at the position and therefor return the respective concrete block to be placed.