I'm glad you had some success the next day.
I suggest a drag line then and practice gottcha at home where there are few distractions. If you to that there is no way to fail. If he doesn't come close enough at home then he doesn't get the treat and he uses a drag line.
Remember he won't ever know that lack of dinner means he didn't come. Dogs reason on the level of a 3 year old except they do NOT know English. So there mentally is no way for him to reason that out. For example no dog ever learned to sit by not having dinner.
I suggest instead of having him know he's in trouble why not have him dying to come to you because its GREAT!!! If he's in trouble do you really think he'd want to come. Most trainers advise that being mad or scolding the dog is the best way to spoil your poison cue. That and using over and over unsuccessfully. Are you using to die for treats??
Check out
http://www.clickertraining.com/node/62
Part of the reason he's not staying could be that he doesn't want to get in trouble...so you should never scold your dog when you ask him to come or he will quit. Remember you want to set your dog up to succeed so there he is happy and WANTS to come to you. Treats, calling when there is a good chance he will come, using treats, never getting upset, never calling for something unpleasant like nail trims or the end to all fun, random calls and releases all the time to practice, training in low distraction areas at home and playing gottcha so he'll get used to a collar hold without worrying about going home.
I truly mean no offence but I wouldn't want my dog to KNOW she was in trouble or worry for one second that she needs to fear what I might do enough not to totally trust me and come running. So if I spend a lot of time making sure that she wants to come and trusts me my chances for success are greater.
Think of this from a dog’s point of view. They are what's in it for me creatures. If the what's in it is you mad and he goes home why the heck would he stick around. I sure wouldn't when the alternative is a great game of chase, running after the car, and not being punished or around the person that is angry and i'm not sure I trust. You are presenting him with a bunch of choices that guarantee failure. There's not much in it for him to come. There is a huge advantage in not coming.
So the problem and the failure are yours not his. Meant kindly.
The good news is that you are in complete control of your behavior so it's very easy to change. As you change he will respond accordingly. The only reason dogs do anything for us is that there is a reward in it.
I guess my opinion is formed by the changes from my 4yo's training compared to my puppy. While I never got mad or scolded my 4yo when I was training come I didn't do it as often and call and release her a lot. So I spent a lot of time walking down her drag line to get her. With my 1yo puppy I've never failed to have her come when called. The biggest difference is more practice and gottcha game, always use food esp as a puppy, set them up to succeed, make it worth it to come.
I've seen people at the dog park call their dogs angrily to them and the dog crawls up fearful. That the dog came in that situation is a testament to the incredible wonderful biddable nature of the dog. We have been breeding them for thousands of years to do as we ask. I'd be heartbroken if my dog every crawled to me fearful or for a moment thought they didn't trust me.
Just give it a try. I hate to see you not succeeding in this because he clearly enjoys your walks. Did you ever want to go to your parents when they yelled your name and said get in here NOW you are in big trouble!!!!! I sure didn't. Just remember don't expect him to make logical connections when he's not mentally capable of it.
Best of luck.
:dogcool: