I think that the true problem in OP's case is proper understanding of how basic dimensions work and what the difference between datum feature B and datum B is.
In case of position tolerance, basic dimensions are used to locate position tolerance zones from datum(s)/datum reference frame, not from datum features. So if we imagine for a moment that datum feature B in OP's example is regular 360 degrees cylinder controlled with +/- toleranced diameter, I guess very few of us (if anyone) would locate the holes from the edge of the datum feature B. Instead of that, there would most likely be a basic diameter dimension applied to the "pitch" circle of the pattern of the holes and together with the implied 0 linear dimension between the center of the "pitch" circle and the datum axis B this would fully define true position of the 4 tolerance zones relative to datum B. I will risk and say that this would be the most natural way to define it.
OP's case is different mainly because datum feature B is not a feature of size, however what is important is the fact that a datum feature simulator B used to establish a datum B is a contoured surface from which a center/axis can be derived. And from that center/axis the basic "pitch" radius dimension should be defined by default.
There is, of course, another problem with datum feature B in OP's sketch, as mentioned by chez311. Since it is not a feature of size AND since it has been referenced RMB in the upper segment of the position feature control frame AND since it doesn't have a location relationship to a higher order datum A (I too assume that datum feature A is the bottom or top face), there is really no way to find a point at which the datum feature simulator B would stop its expansion. This is what makes selection of this directly toleranced arc as a datum feature at least questionable, in my opinion.