The MatchResult will always get the maximum score from either ScoreForPinyin() or CalculateSearchScore(). ScoreForPinyin() is completely dependant on the "ShouldUsePinyin" global setting.