Michael,
>...I would gladly listen to any suggestions on other ways to do it and advantages/disadvantages of vcx vs. prg.
In addition to Steve's list, another advantage of classes defined in prg's is that you can base them on VFP's Session base class (VFP6 SP3 and later), which sets up a private datasession to insure that your class will not "step on" open tables or environment settings in other parts of your program.
Also, look at the new syntax for class definitions in VFP7, which includes
DEFINE CLASS newclass AS someclass <b>OF some_prg_or_classlibrary</b>
which eliminates the need to SET PROCEDURE or SET CLASSLIB when the classes in your class hierarchy are held in various prg's or vcx's.