Although this was triggered by Hulababy's awful experience, I've started a new thread because I don't want to sound in any way critical of her.
Until ds was about 3yo, whenever we were in a busy or distracting place, he was either in the buggy or wearing reins so that I could keep hold of him. I have always told him to stay/play where he could see me, in the hope that he wouldn't wander off out of sight, because I think that 'Don't go too far' is meaningless to a young child.
A couple of days ago, at Brent Cross with ds, I saw two little girls, about 4yo, walking hand-in-hand along the main mall, one of them sobbing bitterly for her mummy. No-one seemed to be paying them any attention, so I stopped them and asked them if they could see their mummy, they said they couldn't. A security guard had spotted them (thank goodness!) and came and took over. A couple of minutes later I saw a frantic woman rushing out of a shop calling for someone; it was, of course, the girls' mother, and I told her where to find them.
This incident made an enormous impression on ds, who had been walking perfectly nicely with me until then, but decided he was now going to hold my hand. I took advantage of the opportunity to teach him that, if he can't see me when we go out anywhere, he should stand or sit still and look around for me. If he stays still I can come and find him, but if he runs around to look for me then I might not be able to find him, just as happened to the two little girls.