OK, I figured it out.
I was hoping I could define a NEW non-persistant table (or an actual aware table, didnt matter), so my call would be:
EXEC_SP 'SomeSP' RETUN myVirtualBO
It works fine, I can even SEE all of the columns, however, if I call a process and try to pass this, I get nothing, nada, zilch.
If, instead, I return REALBO then when I select a record, I can work with it just like all of my reqular Aware Queries
HOWEVER I have to define REAL fields for any shortcuts.
In a regular query, I have an ob_Customers relationship and a SC_CustomerName. There seems to be no way to display this info without adding a "customerName" plainText Field to the BO and return that in my SP. It seems sort of wasteful, however, since I am only doing this when I am running my SP, they don't really take up much space in the database.
Bottom Line, if I am just displaying info, I can have results go to any BO (presistant or virtual). But if I want to "use" the data with an Operations on Item then I have to have my return be the actual "main" table that I want to pass to processes.
Oh Well... I can live with this..
Bruce