Kenneth Fisher says to stop using datetime and start using date, time, and datetime2(x):
Why is everyone still using the DateTime datatype exclusively?
Back in SQL 2008 we gained a whole new range of date/time datatypes. Isn’t it about time we started to use them?
In my experience, most of the issue is supporting legacy app code which chokes on these types. You’d think people would have updated that .NET 2.0 code, but not always.