BluePhaze
If I am understanding you correctly, you are saying that when the unit overlaps the rectangle that encompasses the enemy and the enemy's ellipse, you could "just replace the ellipse calculations with the invisible rectangle and do an is overlapping test". That defeats the purpose of the ellipse test because simply testing the rectangle collision would result in a collision range that is based on a rectangle and not on an ellipse!
You could check to see if the unit is within the largest radius of the ellipse to then start testing whether the unit is in fact touching the actual ellipse. However, there is a trade off. Imagine that you have an ellipse which is 1000 pixels wide and 10 pixels tall. Then your distance method of detection would detect that a unit is "touching" at a distance of 500 pixels above the bad guy even though the unit still has another 495 pixels to go before colliding with the ellipse. The closer that the ellipse is to a perfect circle, the more accurate the first line of detection will be. And the problem with the rectangle is that the corners will always give false positives. So it's a trade off and I can't catagorically say which method is better.