thanks Abhilash...you're absolutely correct i missed that xi piece.
in earlier versions use syntax like
({Orders.Order Date} >= {?DateStart} or {?DateStart}= date(1900,01,01))
and
({Orders.Order Date} <= {?DateEnd} or {?DateEnd}= date(2100,01,01))
where datestart has a default value of 1900,01,01
and dateend has a default value of 2100,01,01
this allows the end user to leave either datestart or dateend blank. for 2008 and later use the hasvalue method above....you can still use this syntax (with the default values) in cr2008 and later, but it's not as user friendly as you have to have those defaults.
-jamie