If you persist a CLR DateTime value to SQL, when re-read out of SQL back into a CLR DateTime variable it will no longer match the one in memory. This can lead to subtle dataset corruptions.
http://seesharper.wordpress.com/2008/07/08/sql-server-datetime-vs-net-datetime-battle-of-accuracy/I have an application where I store in RAM whatever goes into my db by pulling it back out which entraps it in the cache as part of my get-entity-fill procedure. To ease the burden on SQL, I use LINQ to query the cache in-memory, but I was finding missing data because the dates are a couple of ticks out.