Глаз зацепился за function col2d_PointInQuad(X, Y: Single; Quad: zglTRectPoints2D): Boolean. Если я правильно читал доки, то это проверка на вхождение точки в прямоугольник — и сразу вопрос: зачем прямоугольник описывать четырьмя точками, если достаточно двух противоположных, определяющих граничные значения по осям? Или это на случай повёрнутого прямоугольника или просто четырёхугольника? Но тогда задолбаетесь писать проверку на вхождение точки. Я слегка запутался.
UPD: Вижу в типах вроде как более подходящие zglTRectBPEP2D и zglTRect2D. Имеет смысл перегрузить функцию под них?