>So, it seems I 'used' the empty class in a VCX.
When the docs say that a class cannot be used in the VCX system, it means creating a subclass to store in the VCX system, and it has been that way since version 3.0. Code like CREATEOBJECT("Empty") is code that can be anywhere (prg, snippets in SCX/VCX, etc.) and has nothing to do with subclassing or hosting in the VCX system.
I don't think the existing documentation is confusing, and probably the way to convince me is to show reference to different wording in previous versions of VFP that describe it better to prove VFP 8.0 docs need to be changed - since this has not been a problem in previous versions that I know of.