I'm not sure what you mean by "I couldn't see the difference between A and B". Could it be something to do with including b*loc in the first RANDOM statement? I usually use the second version that pools b*loc with a*b*loc.
Regarding whether Reps are subsamples with Loc or not: See Section 6.6 (A Multilocation Example) in Littell et al., SAS for Mixed Models, 2nd ed. This example lays out the choices that must be made, with some suggested guidelines. Their general recommendation is that the location x treatment term should be retained in the model if you cannot comfortably assume that treatment effects are the same at all locations. At the time of publication (2006), they note that some assumptions depend on the specifics of the study and "are considered controversial by many statisticians". So there possibly is room for different approaches, dependent on study context.
I don't know whether this information is in the newly-released 3rd ed: SAS® for Mixed Models: Introduction and Basic Applications.
Syntax-wise, Rep*Loc expands like Rep(Loc): each covers Loc, Rep, and Rep*Loc, not including components that are otherwise specified in the model. So the two forms are interchangeable in my experience. This documentation link refers to the design matrix for nested effects in the MODEL statement, but construction of the design matrix for the RANDOM statement is largely identical.
... View more