Mel:
>However, in the v.7 OnLine help it says "Tables and views that are opened manually via USE commands, however, need to be added to the CDE with the AddCursor() method."
Only if you want them "managed" by the CDE/Datamanager. In the circumstances you mention, you dont have to put them in the CDE at design time or use addcursor() at runtime (unless you want to use facilities provided by the CDE or cursor object(s) on said table). However, I often add tables like this to the CDE at design time. It doesn't cost anything to do this and a quick look at a CDE tells you what tables are going to be used in process. Just my preference though.
>What brings all this up is that I will have a form that list all available reports (about 100), and I open up different different tables depending on which report is selected.
This is an eminently sensible reason to just use the "USE" command ad-hoc, rather than adding every possible table to the CDE.
HTH
-=Gary