You forgot to initialize rTexture, so it can't very well contain the mouse point. Change the textureImage in the Unit class to protected, too, and add this to the constructors:
rTexture = new Rectangle((int)position.X, (int)position.Y, textureImage.Width, textureImage.Height);
In this case there were only very few factors involved that could be responsible for the error, so this is pretty easy to debug. Use Console.WriteLine() to check if the variables involved have the values they were supposed to have to see where the problem lies. For example:
if (currMouseState.LeftButton == ButtonState.Pressed)
{
mClick = new Point(currMouseState.X, currMouseState.Y);
Console.WriteLine(rTexture);
Console.WriteLine(mClick);
if (!tselected && rTexture.Contains(mClick))
{
tselected = true;
}
else if (tselected && !rTexture.Contains(mClick))
{
tselected = false;
}
} If a line gets printed to the console, you know that the mouse state and the unit get updated correctly, what values the rectangle and the point have and thus if your if-clause works right.