Regardless of whether or not a better throw or no throw would have produced a better outcome (and I think everyone, in hindsight, agrees that Salty should've held onto the ball), we have to deal with what occurred. And here's the rule (as copied from Fangraphs, which has a gif of the play).
"OBSTRUCTION is the act of a fielder who, while not in possession of the ball and not in the act of fielding the ball, impedes the progress of any runner.
Rule 2.00 (Obstruction) Comment: If a fielder is about to receive a thrown ball and if the ball is in flight directly toward and near enough to the fielder so he must occupy his position to receive the ball he may be considered ?in the act of fielding a ball.? It is entirely up to the judgment of the umpire as to whether a fielder is in the act of fielding a ball. After a fielder has made an attempt to field a ball and missed, he can no longer be in the ?act of fielding? the ball. For example: If an infielder dives at a ground ball and the ball passes him and he continues to lie on the ground and delays the progress of the runner, he very likely has obstructed the runner."
http://www.fangraphs.com/blogs/poll-the-walk-off-obstruction/
Very clear. Middlebrooks was no longer in the "act of fielding" once the ball had passed him, and it was during this period that Craig tripped over him on the way to home plate (and, no, Craig was not out of the basepath to homeplate- the basepath adjusts to where the runner starts on his way to the next base, and isn't necessarily the direct line between bases). So, be definition, "obstruction" by Middlebrooks.
However, as Dave Cameron says in a separate post on Fangraphs, in an instance like this where the fielder has fallen into the basepath while attempting to make a play, and the ball gets past him, he should be given a reasonable chance to get out of the way without being called for obstruction. The "black/white" nature of the rule seems to say that once the fielder has failed at catching the ball and is no longer "in the act of fielding" he must immediately remove himself from a position where he impedes the progress of the runner. How does one do that in a case like this, where the runner and fielder have collapsed on each other? The only solution is instantenous teleportation, isn't it?
The last line of the example from the rulebook also throws SOME "judgement call" shade on this too. It says that "(the fielder in this case has) very likely obstructed the runner". Very Likely. So there's wiggle room for an ump to say that he didn't obstruct the runner. Anyways, a moot point.