In every solution and proposal should be common sence.
It is not cost effective - to refuse OR completely.
It depends, in what situation it will be used.
Well constructed - OR can do a lot with stable part of application or its static part. QTP works much faster with OR then with DP.
With dinamic part or fresh implementation, when you expect a lot of changes to be made or new objects to be introduced in every build - of course, DP is only choise.
Again: root - might be in OR. Children objects - written descriptively.
In the point of automation performance - it is better choise.
But again and again: there is hundreds of solutions and opinions. Nothing can be absolute right or wrong.
You have to find your own arguments to prove your opinion based on your application, your experience, your knowldge and skill. Otherwise, it might be trapp for you: to use others choises, based on parameters mentioned above.
Your personal comfort level is one of the most important factor. If you are good at programing and vbscript, then DP will work great. But if you are not a good programmer, then thats not the approach that you would like to follow.
Also depends on the fact that who would be maintaining the scripts. If non-technical or not-so-technical people will be handed over the scripts (or some of them) to maintain then they might find it difficult to handle DP.