Multiple selections (if enabled in the project settings) translate to an MDX query using a calculated member of the form:
WITH MEMBER [HIERARCHY].CALC AS '[HIERARCHY].[A] + [HIERARCHY].[B]'
SELECT
....
FROM cube
WHERE ([HIERARCHY].[CALC])
Depending on the measures involved in the SELECT statement, this will give wrong results.
Results will be correct, only if all the measures involved in the SELECT statement aggregate through '+'.
I agree that this is true for many (if not most) measures, but not for all of them (e.g. measures representing maxima, minima, mean values, medians, etc).
My suggestion is to use the Aggregate function, which is --to my understanding-- exactly for this purpose:
WITH MEMBER [HIERARCHY].CALC AS 'Aggregate( {([HIERARCHY].[A]) , ([HIERARCHY].[B])}) '
SELECT
....
FROM cube
WHERE ([HIERARCHY].[CALC])
Additional note:
I am not sure, but I think that there is another difference between "+" and 'Aggregarte' when it comes to empty/null cells.
Aggregate will skip/ignore empty cells, whereas '+' might cause the complete result to be empty/null.
But, I admit, that I am not sure about this.
Please forget my last comment :-)