Isnt dynamic scoping a bit similar to Dependency Injection? Maybe there's a form of it that could be useful. Like explicit dynamic scopes?
And yes, dynamic scopes can be useful in specific cases. What's wrong is having your variables scoped dynamically by default.