because you have converted the date to string. And you are doing a string comparision in your where clause.
You should leave it as datetime data type. Also specify your date string in YYYY-MM-DD format
Select *
from
(
SELECT [InTime] as Date FROM CarEnteries
Union SELECT [OutTime] as Date FROM CarEnteries
)a
WHERE [Date] BETWEEN '2012-05-08' and '2012-07-01'
order by [Date] asc
KH
Time is always against us