I think it depends on the exact situation. If the problem they are asking about comes from the puppy's origins, then we need to explain why the problem exists. Not berate the puppy's owner, just explain the problem.
If the problem has another orgin, then what's done is done. I'd rather they hang around the forums and learn from other people's posts on the matter, than be alienated by a lecture, and never get the answer to their question and thus another puppy shows up in the shelter.
I also think that telling people they've made a big mistake risks convincing them that their puppy is beyond help/too much work etc. Again, another dog in a shelter.
The truth, that none of us like to admit, is that we have all met dogs from such origins who are fine. Some are even great dogs. This is not to support pet stores/puppy mills/BYBs at all . . . its just to observe that there's a good chance the the situation can be salvaged . . . and we want to give the new owner all the encouragement we can to salvage it and to make the situation work, rather than ditching the pup, who is, after all, completely innocent, regardless of his/her origins.
So, unless its relevant, what's done is done, lets solve the problems our new Chazzer has (to the best we can) and has they join our community, they will come to learn that they did make a mistake. But hitting someone over the head with it is unlikely to help owner or dog. After all, they now HAVE the dog . . . and we don't want them to NOT have it, to give up on it, regardless of where it came from.