May be you have stored value in your date column in datetime format
see the difference...
select case when '2013-02-07' between '2013-02-05' and '2013-02-07' then 'found' else 'not found' end
select case when '2013-02-07 12:9:9 am' between '2013-02-05' and '2013-02-07' then 'found' else 'not found' end
select case when convert(datetime,convert(varchar(10),'2013-02-07 12:9:9 am',103)) between '2013-02-05' and '2013-02-07' then 'found' else 'not found' end
so, you should convert
datetime value to date like I do in 3rd query...
Happy Coding!
:)