If I understand you correctly, you want the users to be able to enter either one set of dates or the other, but not both. Is that correct?
Here's how I would handle it:
1. Set up one set of date parameters.
2. Add an additional parameter that is something like "Filter Date" with the values "Order Date" and "Add Date". Reorder the parameters to put it directly above the date parameters.
3. Change the logic to something like this:
AND(
({?Filter Date} = 'Order Date' and Trunc(O.ORDERDATE) between {?startdate} and {?enddate})
OR
({?Filter Date} = 'Add Date' and Trunc(OA.ADDDATE) between {?startdate} and {?enddate})
)
This way you're not dealing with optional parameters and you force users to select only one set of dates.
-Dell