Rex,
As Dave mentioned in his reply, when you use a variable of a "parent" class type to reference a child object, you only have access to the PEMs of the parent class.
Regarding your question of using DataSets rather than properties for data access, I personally prefer DataSets. Although the business object property model works well in single-record scenarios, you run into difficulties when trying to bind to multiple records. You can get around this by creating collections of objects, but you end up writing LOTS of custom code to accomplish this. Rather than fight City Hall, I think it's best to return DataSets from your business object methods that can be bound to UI controls. This also gives you the added benefit of working with DataViews for displaying filtered and sorted data.
This is the approach I took in my ".NET for VFP Developers" book, as well as my upcoming "Professional UML Modeling in VS .NET" book (Wrox Press):
http://www.amazon.com/exec/obidos/tg/detail/-/1861007957/qid=1035920386/sr=8-3/ref=sr_8_3/104-7426652-2771150?v=glance&n=507846(I wrote the chapter on business objects!)
Regards,
Kevin McNeish
Eight-Time .NET MVP
VFP and iOS Author, Speaker & Trainer
Oak Leaf Enterprises, Inc.
Chief Architect, MM Framework
http://www.oakleafsd.com