Are the two statements equivalent?
Tuple:
SELECT {[Measures].[Volume]} ON COLUMNS,
([Product].[Product Id].[Product Id].AllMembers
,[Time].[Time].[Year].AllMembers) ON ROWS
FROM [My Cube]
Versus explicit crossjoin:
SELECT {[Measures].[Volume]} ON COLUMNS,
[Product].[Product Id].[Product Id].AllMembers
* [Time].[Time].[Year].AllMembers ON ROWS
FROM [My Cube]
They seem to return the same result, but it seemed from the reading I have done that they shouldn't (at least not always).