as far as I know, you can't. Some workarounds:
1). In a query you can call a stored procedure and have it return a "Virtual" result set. So the syntax would look like:
EXEC_SP "RunMySelectDistinct" RETURN BOName
This is easy but the results can ONLY be viewed. You can not "select" a record for more processing.
2). Call a Stored Procedure to Delete and then populate a BO that you can then run a query on. So you would have a 2 line process
line 1: Call the SP, line 2: DISPLAY queryName.
This will create a BO that is a 1st class citizen. You can then treat it as any other AwareBO.
With either Step 1 or 2, there are 2 "hidden" fields you have to return beside the ID. They are BASVERSION (a 1 is fine for this) and BASTIMESTAMP (plug any date in here).
Bruce