To answer your question, there are definitely some exceptions.
In fact, I'd say the usefullness of automated white-box testing is more likely the exception rather than the rule.
It takes extra time, the tests have to be rewritten anytime there is significant change, slowing down and hindering development. Also, just becuase your tests pass is no guarentee that your app is working correctly or solving the problem it is intended to for users.
White-box testing with automated tests has been a tool in the toolbox for awhile--lately for some reason it is all the rage, and if you speak out against it you are ostracized to a degree by TDD zealots.
Better to understand it, and use it where it could be useful. For example, a friend of mine was an SDET on the Microsoft Frarmework team -- this was a gerat example of where TDD was a great asset. That is, they were developing the engine for a development environment to be used by millions of people.
For your run of the mill web app, even enterprise level, I would be skeptical that such rigorousness is worth the added time and complexity. However, if you have a key component that will be used/re-sued extensively, it could be worth it for those pieces, etc.