Deine Argumente sind in diesem Fall wohl zutreffend, obwohl hier Vererbung und Interfaces nicht benötigt werden, also keine "richtige
OOP".
Wer allerdings mit Records arbeiten will, muss zwangsläufig auch mit Pointern arbeiten und das fällt Anfängern deutlich schwerer, als das Verständnis für Objekte zu entwickeln. Die Datenstrukturen und Prozeduren die entwickelt werden müssen, sind letztendlich die Selben, nur Schreibaufwand und Komplexität sind für Records/Pointer höher als bei Verwendung von Objekten.