I agree that the buddy's inaction is a big problem. I disagree about dumping him.
The OP says the buddy had a total of 12 dives experience. His improper lack of response is more likely due to inexperience and lack of thought rather than him being a chump/dipstick/bad attitude.
A frequent problem in incidents is that the "UP" signal by a diver having problems is ignored or debated by their buddy. In this case, the buddy also managed to ignore a freeflowing reg.
It also appears that some buddies have not yet ingrained into their instinctive reactions: "IF SOMETHING WEIRD IS GOING ON, GET UP NEXT TO YOUR BUDDY AND GET READY TO ASSIST!".
Good call - I missed the part about the buddy only having 12 dives.
Still - my advice about the buddy were not at all about his (the buddies) handling of the incident - except perhaps the yelling at the end (unacceptable for one with so little experience).
My criticism of the buddy stemmed entirely from his inability to "dive the plan". I detest "buddies" with hidden agendas. It seemed clear to me from the OP's description of the dive that the buddy was determined to get to the bulldozer NO MATTER WHAT THE AGREED DIVE PLAN.
Sure - the plan was pretty open from the get-go, but to make a bee-line for the 'dozer when the plan called for some shallow "get familiar with the new gear time" was a clear violation of the plan.
SO - maybe don't dump the buddy YET. BUT - I would advise having a real good chat with the buddy before the next dive. CLEARLY state the goals. ASK if the buddy has any goals of their own (to clear the air of hidden agendas). Also indicate that yelling because of an incident is NOT ACCEPTABLE. Shoot - the "buddy" was below and away - the OP did the right thing by signaling and surfacing, IMO. The "buddy" should have followed IMMEDIATELY to ensure all was OK (I'm assuming the buddy could see the bubbles from the freeflow, so should have known there was some issue).
Now, if after that, the buddy still yells after a dive that doesn't go according to the buddies "plan", or if the buddy again deviates from the plan, THEN it may be time to label the buddy a dipstick and find another buddy.
However, if the OP can find other persons to dive with, all the better. More experience with lots of buddies is preferred (when possible) IMO.
Cheers,
-S