Just on the calc member, what error where you getting? I just took what I created as a session calc member (ie what i posted last time) and put it into a calc member in my foodmart:sales cube with no issue -> SUM([Time].[1997].FIRSTCHILD.FIRSTCHILD:[Time].[1997].[Q3].[7], [Measures].[Store Sales])
the only thing ican think was an issue for you is you;re going either too low or not low enough with the "firstchild"s. You want to go to the lowest level (i think ).
If you can get the above style of formula working, it should be orders of magnitude faster than doing a crossjoin of all the members.
Give me a call if you need to talk about it.
HTH,
Steve.