For ease I have turned this into the following test code:
static void testGeneralCode()
{
int nLocalOne, nLocalTwo;
nLocalOne = 1;
nLocalTwo = nLocalOne;
std::vector<int> vecLocal;
int nLocalThree;
vecLocal[0] = 1;
nLocalThree = vecLocal[0];
}
I see the same problem when doing a Find References on vecLocal. I see the same behaviour in both VA 1626 and VA 1640.
In this specific case it is clear that vecLocal is being modified when it is assigned to. But in general, for "a function is being called on the LHS of equals" is the class instance the function is being called on actually being modified?
I don't think this is a new "problem". It is possible to argue that it is not even a problem at all, although I agree that it would probably be best if VA highlighted vecLocal as modified in this general situation 
case=4985