Does a magnitude of a vector always have to be non-negative? If components of a vector can be positive OR negative OR zero, why must the magnitude of a vector always be non-negative?
 A: A vector is a quantity described by a magnitude and a direction.  The magnitude is always +ve or zero.  A -ve sign in front of a vector indicates the same magnitude but in the opposite direction.  The - sign is part of the direction rather than the magnitude.
Like all vectors, a "resultant vector" is neither +ve or -ve. It has a magnitude (which is >= 0) and a direction.   
"Components" are scalars.  They are the projections of a vector onto the x and y axes (or other axes).  They are not magnitudes, because they can be +ve or -ve (as you note) depending on the angle between the vector and the axes. The + or - sign indicates the direction of the projection along the axis.
"Component vectors" are vectors resolved in the x and y directions which add up to the given vector.  Since they are vectors they have magnitude and direction - although the only possible directions are the +x/-x and +y/-y directions.  They are not +ve or -ve, because these terms do not apply to vectors.
I apologise that this answer may not be mathematically rigorous.  The whole issue is confusing, as your question shows.  I am trying to distinguish between the different terms being used.
