I'll make that change to isPointOnLineSeg, thanks.

That function didn't work but I decided to make my own replacement.

Code:
// test to see if the point coords are in between the start of the line seg and the end
// by testing that the start and end points of the vector are lower and above the point in question
bool AAH::math::isPointOnLineSegTEST(sf::Vector2f lineStart, sf::Vector2f lineEnd, sf::Vector2f point)
{
    //is line vertical
    if (AreSame(lineStart.x, lineEnd.x))
    {
        if (std::min(lineStart.y, lineEnd.y) < point.y && std::max(lineStart.y, lineEnd.y) > point.y)
        {
            return true;
        }
    }
    //is line horizontal
    else if (AreSame(lineStart.y, lineEnd.y))
    {
            if (std::min(lineStart.x, lineEnd.x) < point.x && std::max(lineStart.x, lineEnd.x) > point.x)
        {
            return true;
        }
    }
    else
    {
            if (std::min(lineStart.x, lineEnd.x) < point.x && std::max(lineStart.x, lineEnd.x) > point.x &&
                    std::min(lineStart.y, lineEnd.y) < point.y && std::max(lineStart.y, lineEnd.y) > point.y)
        {
            return true;
        }
    }
    return false;
}
It didn't change that much so I presume that unless the error is concurrent in both functions it not located in isPointOnLineSeg.

However, I noticed this interesting behavior while testing that function. Sometimes pictures are better then words but videos are one up. So here is a video showing what happened. Make sure to read the short description as well.

https://www.youtube.com/watch?v=mnGJ...U&feature=plcp

Cheers for the help guys!