My profession is training dogs and so I'd say my dogs are 99.99999% consistent. I don't dare say 100%, just because that's not realistic and yes that includes the Yorkies. Many owners and other trainers just don't give these dogs enough credit or aren't go about training the dog properly. It really needs to be conveyed the level of consistency you can get from your dog, but are you willing to put yourself and your pup through that kind of stress? School is work and therefore can be stressful, period. It's not all about fun. Playtime is fun. And I'm not saying they can't enjoy training, mine do, but there was a time they didn't.
Anyway, what I would recommend is that you seek a professional trainer in your area. PetSmart and/or PetCo could teach your dog to "Come", but many of them are food reward based. You won't see the dog working for you, but rather what's in it for them. And in regards to the "Heel" command, for me it's very specific. "Heel" means to have their neck area level to your left leg and body parallel to yours, whether you change speeds or directions they're there.
It sounds to me like what you're really wanting in the situation is the "Come" command.
Again, I think you should seek someone in your area so that they can show you hands on what it is that you should be doing w/ your pup rather than trying to read it on the internet. It'll get you to your goal faster to say the least.
ps The trainer you choose really should like to train under distraction and that distraction level should get heavier and heavier as the training progresses. From day one, the average dog that comes my way encounters distractions while training from the first lesson just because there tends to be dogs in close proximity in the indoor training hall. Between toys and other things getting tossed; other dogs; other people; kids.....it's a lot, but your average dog can handle it. This includes our little Yorkies!