Boban,
>Did I get this right, am I implementing 3-tiered development in right way as I have described?´
You are right so far, if you keep in mind, that the Business Object is not the one loeading the data. A 3rd component (data loader, Data access object or how ever you call it) must load the data the business object uses.
If you want to proof yourself if your work is ok, always ask, what have i got to do if I want to change a tier ? If you end up with - I only have to replace the component of this tier you are right. (e.g. VFP Forms --> Web Interface or VFP Data to SQL Server Data)...
And like David already explained, implement the business object in the way you can get a cursor from it, because then databinding is easier and business objects often not just load data but also manipulate it and this is cool when you use cursors.
Marcus