А почему он должен работать? Все функции работающие с координатами экрана, работают с целыми числами. И это правильно. В параметрах DIST задаются координаты точек. Точки могут иметь только целые координаты (мы же на субпикселы не бьём).
Тем более, что дистанцию он тоже округляет до целого, хотя здесь было бы не лишним оставить дробные числа.