Have you looked into the Premier Easy Walk or Walk Nice harness?
http://www.yorkietalk.com/forums/yor...k-harness.html
Jackson wasn't quite as much of a puller as yours sounds like, but he did pull, and the first walk in this stopped it. The difference in this harness is that the D-ring is on the front of the harness, not the back. So whenever they pull, they get pulled in the opposite direction. It worked wonders after a couple days of walking and practice. Just continue what you're doing... the calm approach, stopping when pulling, relaxing, etc.
Premier also makes a Walk Nice harness which goes over their muzzle and that helps with bigger pullers, I think. You can buy these online or at Petco or Petsmart!