I'm no ref, but as far as I know, you can clean out anyone in a ruck when you came through the middle. I believe the halfback rule is meant to protect players from interfering with the halfback for example when he is digging for the ball at a ruck. Like, when there's a proper ruck, players from both teams bound over the ball, and player from defending team can not touch the halfback unless they clean out the attacking player at the ruck first. I don't know, though, as I've seen it penalised the way you descirbe it every now and then. But Joubert seems to see it the way I do, too. He explained the ruling to Horwill in a Reds game from a few weeks back.
If you were not allowed to clean out the halfback, you wouldn't need any protection at every 2nd ruck or so, just have the halfback be there first and he would be able to do as he'd like. Or am I missing something?
Also, you can bet your house that had McCabe cleaned out some prop, who might have been acting halfback at that ruck, he wouldn't have been penalised. The number on the jersey surely made the difference. Then again, Barnes is not exactly my favourite ref, so.