It was social norms that kept the parents picking up the kids on time consistently. Adding a small cost switched the parents from social norms mode to market norms mode. Instead of the parents thinking "oh no, I better hurry now, because it's wrong to be late" as was the case when lateness was free, it became a "is it worth $3 to be 10 minutes late?" calculation.
Replacing social norms with a poorly chosen market rate is dangerous and can potentially backfire. Essentially, there is a discontinuity in people's behavior between a cost of $0, where you benefit from social norms, and a cost of epsilon, where the social norms go out the window. If you actually charge people the cost they are inflicting on you for lateness, then it's again a different story.