I have a runner too, so I feel your pain...he's finally just starting to come out of it, but only in the past month, really. I work with him, I've tried numerous times to teach him "stop & go", Freeze, etc., and it just hasn't sunk in.

: Oh, he'll say the words and laugh with delight when I do it with him and model it for him, but when it's my turn to say the words and him to freeze, and I gently try to show him what stopping or freezing means, he's just not interested.
Sooooooo, basically, I remind him EVERY time we're in the car that he MUST hold my hand in parking lots and until we get into the shopping cart. AND, when getting him into the car after shopping, I don't totally let go of his hand until he's well into the car and my body is blocking the door, so he can't get out. This is one situation where I will not take a chance and test things out until he's shown me at home that he can stay close to me and not run off. He seems to do OK on sidewalks around the neighborhood now, but in parking lots he still isn't able to control his impulse to run. So, I just don't give him the opportunity. I hold his hand as he gets out of the car seat, and don't let go until we're in the store, and then have him hold onto the cart until I'm ready to put him in, or go back to holding his hand and get the cart ready one handed if he lets go of the cart more than a couple times...I'm sure I'm quite a sight sometimes with DD strapped to me in the wrap, DS holding one hand wiggling around, and me plopping stuff in the cart with the other hand. He occasionally gets a "test run" walking next to me in stores, but even that is sketchy so he's in the cart about 95% of the time.
Unfortunately, it takes more thinking up front and being conscientious to ALWAYS have his hand before out of the car or before leaving the store, but that's the only way I've found I can make it work. And honestly, I've been doing it for so long now that I don't even have to think about it, it's just second nature to take his hand immediately in the car, and immediately as we're exiting a store.
So, we keep working on freeze games, on staying next to mommy, and listening when I call for him while we playing at home; but in public, it's not a situation I'm willing to test out, so he's either holding my hand, or in a cart/stroller. He's too heavy for me to carry more than a minute or two, and hates being carried anyway, plus I always have DD strapped to me and carrying BOTH of them would bust my back in about a minute flat.
I read here a while ago about using those link-a-doo things, and those work OK sometimes - I link a few together and he holds onto that instead of my hand and it gives him a little more leeway and he feels a little more in control, but he's only good at doing that in stores for about 5-10 minutes, then he's off running, so we only use that in stores, not in parking lots. Others have suggested a length of ribbon or something similar, but that will only work if your child doesn't let go of their end, which mine ultimately does.

The good news for me is that he loves shopping carts and tolerates the occasional stroller ride, and rarely throws a fit holding my hand....I count my blessings for that, seriously. Soon, I keep thinking, soon......
