Also remember that each object has a origin-point, distances are measured between those single points, and that the points aren't always in the middle. For example, drag an Egyptian into a scene, and then a simple sphere. If you then tell the sphere to set it's "point of view" to the Egyptian, it's center will move to the Egyptian's feet. Now shrink the ball to knee height.
So, if you are checking for a distance that is less than the height of the Egyptian, the ball could easily pass through the head, but never come close to the feet.
The problem isn't as pronounced with some larger objects like buildings, but can be a challenge.
Try an experiment:
1) Drag two spheres of "different" sizes into a scene(maybe on left and right sides of view screen).
2) Build a loop of your choice that moves the balls toward each other in small measured increments while the distance between the two is > the sum of the two radii.
3) If they stop when they touch, you win.
It might sound like a lot of work, but if you have a large "list" of different objects of differing sizes, it might come in handy.