Well, your DBA is absolutely right "that it (a TRY-CATCH block) is a very inefficient way of creating a transaction". 🙂
I also agree, that it therefore should not be used for transactional mananagement.
But for totally different reasons than he does, as already explained.
Maybe you can get him into a discussion by agree to a part of his statement first (to polish his halo) followed by "the bad news"...
Another option would be to ask him for a more detailed explanation and some sample code so you can "widen your view" and learn from his "10 year experience".