blockMesh removes files even on failure
Specify something like blockMesh -dict badName
and the existing polyMesh/ directory will be removed, even if the dictionary could not read and the operation is aborted.
Better to load dictionary (and possibly generate blocks) before removing existing files.