I'm going to tread carefully here because my knowledge of C++ is rather deficient (barely enough to understand _most_ of the code.)
That said, GdiPlus is all based on C++ classes/objects and both Delphi and FPC can use GdiPlus. It seems to me that indicates a well designed C++ class is usable by FPC.
What I'm saying here is, I don't think it is right to blame FPC for not supporting C++ classes, it does, otherwise it couldn't use GdiPlus. It seems the problem(s) reside with the way the C++ classes are, in some cases, designed.