Grundsätzlich stimme ich dir in Bezug auf die Flexibilität eines ORM zu, aber deine Argumente ziehen in einigen Punkten nicht so ganz. So scheinst du die Events OnGetText/OnSetText von TField vollkommen außer Acht zu lassen. Damit lassen sich sowohl die Index-Lookups (auch bidirektional), als auch die inhaltsabhängige Formatierung relativ problemlos realisieren. Ich benutze das auch in Fällen, wo Datenbankwerte übersetzt werden müssen oder Platzhalter mit aktuellen Werten zu ersetzen sind. Zusätzliche Anzeigefelder werden in der Regel mit Calculated Fields erschlagen. Ach ja, die Optik hat sich in den letzten Delphi-Versionen auch deutlich verbessert.
Nebenbei finde ich es durchaus bemerkenswert, daß ein ziemlich brauchbares ORM wie TMS Aurelius auch ein TAureliusDataset mitbringt, mit dem man die Objektinstanzen des ORM wieder über datensensitive Controls ansprechen kann.
So ganz beiseite wischen würde ich den Ansatz mit datensensitiven Controls noch nicht. Er hat sicher noch eine Weile seine Daseinsberechtigung. Wie mit all diesen Sachen muss man natürlich lernen damit umzugehen und mit der nötigen Erfahrung lassen sich die verschiedenen Anforderungen auch effizient und relativ schnell lösen. Das gilt natürlich für ein ORM ebenso.