Okay, I just figured out the calcMinDistance issue.... It's related to the ignoreIfLarger variable. Since I'm setting the origin of my ray only 10 away from the object, I just put the ignoreIfLarger as 20, since I didn't think it would need to be any larger. If you take the test code I posted and change that value to 20, or anything less than the distance from the point to the top-left corner, you'll see what I'm talking about.
I realize now that if I had read the documentation for it more closely, I would have picked up on that sooner. Although it's kind of weird that it only seems to check one corner of the polygon.