Its really irritating that maya doesn’t allow any simple way of removing blendshape target (the attribute itself and Information stored) from blendShape node that already has his targets removed. The remove blendShape option only allow to remove those blendshape target index that already has there targets. If you see through hyperGraph connections you will see there is connection from shape node of targetShape.worldMesh to your blendShape node to inputTarget multi index that will something like blendShape1.inputTarget.inputTargetGroup.inputTargetItem.inputGeomTarget (a multiElement) all further targets you add will have something called weight index which is equivalent to inputTargetGroup[#] number. you can also query index number using this mel command aliasAttr -rm blendShape1.targetNameAttr; it will remove the alias name out of blendShape attribute and give you weight index number.
in above example 0 is the weight index. I hope i am able to explain how maya is storing blendShape in multiElement. I have written a script to remove blendshape targets with blendshape and target name as input. download it