Back when carp were dangerous, this was due to the above listed reasons, and ALSO, due to carp gaining swimming skill from, well, swimming, and thus becoming only faster, stronger, and tougher as the game went on. This only enhanced the damage that carp did when they attacked.
You should probably know that this bug only existed for
3 weeks - it was introduced in version 0.27.169.32a (October 29, 2007,
the very first 3D release) and was fixed in version 0.27.169.33b (released November 16, 2007).
Carp often attacked instead of retreating when they spotted a fisherdwarf, if they thought they were cornered and had nowhere to retreat to. This AI bug/feature made closed murky pools full of carp especially lethal.
This also makes them still rather dangerous in 0.31 - though they can't do any significant damage, they can still trick your fisherdwarves into dodging into the water. The fact that fisherdwarves are almost
relentless at their job (if they get scared away, they barely make it 3 tiles before turning around and heading toward the water again - by comparison, any other dwarf will run at least 20 tiles before even considering taking another task) makes them even more prone to drowning this way.