Walter,
Only query data you need. I agree with this statement, which should be the case regardless of the technology.
In .NET there is no equivalent to USE MyTable and THISFORM.Grid.RecordSource = MyTable.Misleading on both counts. A result set (list of reason codes, or a list of customers, or all invoices for customer XYZ in the last month) can be bound to a grid by saying "myGrid.DataSource = myTableOfInoviceResults". The performance can generally be the same as VFP.
As for the USE....a functional equivalent can exist. If an app has list of 'code' tables (reason codes, type codes, list of GL accts) that need to be accessed throughout the app (e.g. pick lists), one can pretty easily set up a business object with a GetDataSet Method and table properties. This is a no-brainer.
Kevin