If you restrict the test point and rectangle to physical coordinates it seems pretty simple to us. Perhaps we are missing something. This does not take into account the rounded corners, but none of our routines will.
public bool HitTest (Point2D pt, RTRoundedRectangle2D rect)
{
bool result = false;
if ((pt.X > rect.X) &&
(pt.Y > rect.Y) &&
(pt.X < (rect.X + rect.Width)) &&
(pt.Y < (rect.Y + rect.Height)))
{
result = true;
}
return result;
}