>> There is an old Hebrew saying that says "A thousand examples doesn't constitute proof". <<
You only presented one, not 1000.
I am amused that you don't recognize that I'm agreeing with you on that point. What I am saying here is that even if I did give you a thousand examples, it would still not be a proof.
I am not saying that all OOP applications are crap. That is not my stance. I am only saying that OOP is overhyped and the hype is ruining progress and tools for the alternatives.
>> Can you imagine a user saying "You've got this table, and it..."? Not likely. <<
Are you saying that tables are less trace-able than objects? Let's see you do an ad-hoc query on a bunch of objects? For example, "Show me all meters west-side that have reported leakage or cracking problems since last month and serviced by Bob".
My point here is that users do not think in terms of tables, but developers do. Users think in terms of things in their problem domain, otherwise known as objects. Tables are things in the solution domain. When the objects in the problem domain match the objects in the solution domain, communication between developers and users is easier.
Ad hoc queries are a separate issue. You either design for them or not depending on user requirements. OO does not exclude use of relational databases.