A. - Acid stain would not flake off. Therefore the flaking must either be because the stain is an acrylic stain aka water base stain (aka concrete paint using the name "concrete stain" with the sole purpose of tricking you into painting your concrete while separating you from your cash), or it could be that you do have an acid stain and only the sealer is flaking.
So, if you know it's an acrylic stain, then yes, it must be completely removed in order to properly restain it with an acid stain which will not peel or flake. If you go over it with an acrylic stain it will only become an even worse issue down the road.
If you don't know if it's an acid stain or acrylic, then you can test it by pouring some water on it. If when it is wet, the areas that have flaked still have the color as the rest of it, then it is likely an acid stain and only the sealer is flaking, which means that you only need to remove the sealer and reapply some fresh sealer. If it remains the color of concrete when it is wet in the flaking areas then it is likely an acrylic stain and must be completely removed.