The client doesn't tell to server that he blocked an attack, it tells the server in wich way he blocked, and i think that it also says the time of block starting(fog high ping issues)(again, i only think this happens, but is very small probability the thing with the starting time). then the server sees if the block direction is valid(because different items block in different positions) and then it sees if the attack position correspond with the block position...so only the direction of the block is client side.
Noone will make masskill...cuz it can't be made...
The fly is only client side(other players doesn't see you flying, they see you staying or moving(but only on ground, no actual fly))
You can partially control in wich way you attack...if how i think it works is true, then the client only sends the value of the attack direction option(mouse look, movement keys, inverse mouse look, relative enemy position), so for ex if you want to attack from left, then you analise to see if any of those options would make you attack in left direction. If you find out one, then you send that specific option.