I am seeing the same effect here. Thank you for the clear description. The count of found references not being updated when deleting found references is:
case=58040
For the return type, if I understand you correctly, this code shows what you are describing:
enum testReturnType { };
testReturnType testingEnumReturnType()
{
testReturnType nUsingEnumInFunction;
}
when you do a Find References on "testReturnType" I am seeing what you are describing. This is what I personally would expect to happen, since the return type is on the function name line, so its scope is not actually inside the function, its scope is at the same level as the function.