Depends on the gamefeel you're going for I guess. I feel actions with consequences makes for a more engaging experience... e.g. pressing attack should commit to that attack ala Dark Souls. I think allowing a cancel (to say block) during "wind up" or "recovery" is a good middle ground.
No. Block should not cancel attack. As you said - consequences. What I ask is that when you attack and then press block, character should finish the attack and then go into a block stance without need to release and press the button.