Lol. Thanks Paul. I just this second replied to a PM from Shrini asking the same question, but my suggestion was slightly different, albeit the same. Just for fun (and for completeness of the thread, because PMs are not a good way of sharing ideas with the community), here was my stab:
total([PP_ACC_RCV_AMNT] within set periodsToDate([Your Namespace].[Your Time Dimension].[Your Time Hierarchy].[Your
Year Level],currentMember([Your Namespace].[Your Time Dimension].[Your Time Hierarchy])))
I hadn't originally twigged that [YM] was the month level not the year level, but the lightbulb came on when I saw the results.
My belated effort is exactly the same concept as you suggest Paul, but using the Year level in the expression rather than using the ancestor() function, and using the hierarchy rather than using the hierarchy() function. It just goes to show there's more than one way to end up with the same result

All credit to you for coming up with the idea in the first place, by the way - it's a very neat solution, sir!
MF.