I think the main reason why this problem is coming up is because of an artificial end point brought about by the no-ball. So the match ended while the ball was yet to reach the batsman. I really wonder why the MCC would create such an artificial cut-off point for a match. It's not as if it causes great pain to the statisticians to record the runs scored off a no-ball. Separating the ball bowled from the runs scored off it is like making an entry to one side of a balance sheet without changing the other - it is definitely wrong!
This 'end of match' rule has led to some funny scenes in cricket. I distinctly remember watching a batsman hitting the winning boundary and then shouting at the non-striker asking him not to cross over so that he would get all 4 runs instead of just the one needed to win. Again, in this case, the match ends if the batsmen cross and while the ball is still on its way to the boundary creating an artificial end point.
I agree with the general purpose of the rule which is aimed at preventing batsmen from running for more runs even if the match is over. But in the case of no-balls there is a clear contradiction. Maybe the MCC should consider adding an exception to the rule in case of wides and no-balls. That would bring an end to the cases of poor sportsmanship such as the one we saw today.
P.S: A similar discussion was also going on at the Cricinfo commentary page.