A lot of it depends on what you are trying to do. If you are accepting dates without time from your users and or are passing them in yourself,
Instead using "columnname between @Start_Date and @EndDate ", You could use columnName >= @Start_Date AND columnName < datetime(d,1,@EndDate)
For the month of January you end up with >= '2009-01-01 00:00:00.000 and < '2009-02-01 00:00:00.000'
-Luke.
Edited to correct things the page stripped out...