It appears that you are missing some curly braces within your crossjoin:
change this section:
non empty({
[first twelve], [Accounting Date].[Month].[Remaining Months]
--* [Procedures].[Billing Groups].[Billing Groups].ALLMEMBERS
}) on rows
to this:
non empty({ [first twelve], [Accounting Date].[Month].[Remaining Months]}
* {[Procedures].[Billing Groups].[Billing Groups].ALLMEMBERS}) on rows
----------------------------------------------------------------------------------------
Dan English - http://denglishbi.wordpress.com