I forgot to mention in my previous post - If I'm establishing a datum against an as-received surface, I do use a reference dimension and attach the datum to the leader line.
You can also put the datum flag directly on the surface (per Y14.5-1994, I haven't gotten the new spec yet), but I find it to be clearer to place it on the leader lines and give a reference dimension.
Also, be careful using MMC modifiers on datum references; stock tolerances can be fairly large, which can lead to a bit of datum shift. You need to be sure that it's taken into account in your stackups.