En cuanto al uso exclusivo de clases discrepo. Una librería de funciones generales es tan útil como una librería de clases. Todo depende de la función.
Una función general es mucho más portable entre distintas app que la perteneciente a una librería de clases. Mi forma de programar es saltar de alto a bajo nivel sin complejos, en aquellas tareas que lo requieran. POO no es dogma de fe. En ocasiones es excelente elección. En otras un engorro.
VCL está orientado a objetos, es lógico que sus eventos requieran una clase, pero nada te impide crear eventos con una función calback tradicional. La API de Windows es un ejemplo.
La programación, bajo mi punto de vista, debe ser plástica y adaptarse a cada necesidad. La rigidez muchas veces complica lo sencillo.
No estoy ni a favor ni encontra de POO simplemente uso ambas, según la necesidad. Y aunque discrepen muchos, me gusta más la POO de C++ que delphi.
Saludos