3. Sealed class with class static methods - it's only c++ workaround for FPC units.
What? Static methods do not exist in C++. You saw these in Java.
A C++ class can only have instance methods, no static methods. There are global functions only, but C++ gives you the feature of packing the global functions and variables in "namespaces".
As FPC lacks the beautiful C++ feature of namespaces, "static" classes come as a solution for this ("static class" is java terminology for a class with class variables and methods only).
And no, Pascal units are no substitution for namespaces. Unfortunately, units do not force good practice of qualifying identifiers when used from other units.
Wrapping routines (and variables too) in "static" classes, is a very good practice. It is a way to force qualifying function calls (and variables).