As for the dirty play it should have been called a foul. He made contact. But it wasn't a dirty play and it wasn't a flagrant foul. The guy was going for the block, realized he couldn't reach it and pulled his arm back in and caught Morris on the head when he was going by. it wasn't some egregious dirty play. It just looked bad because Morris then lost his balance and hit the floor.
It may not have been intended to cause an injury, but at the very least it was reckless and stupid. Beasley had no chance of blocking that shot. And he actually caused the injury - if you watch the replay, the reason Morris fell is that Beasley hits him in the head after the dunk and jars his hands loose from the rim. If Beasley doesn't hit Morris, Morris holds on to the rim and has a safe, controlled fall.
It really wasn't a basketball play, anyway; Beasley hit Morris after the ball went through the hoop. He also hit him from behind in the restricted area. The league should discourage this kind of play - the same way it discourages breakaway fouls and defenders undercutting jump shooters. Honestly, I'm a little surprised this isn't already a breakaway foul or a dead ball foul, which would give the offensive player's team a free throw and the ball.
It definitely should have been a flagrant foul - his elbow hit Morris in the head. I've seen flagrants called when a shooter tries to rip through a defender to get a shot off and contacts the defender's head. If *that's* a flagrant, this stupid play by Beasley was definitely a flagrant. Morris was defenseless, in a vulnerable position, and got hit from behind after he had scored.