Ponieważ zawsze korzystasz z czasu uniwersalnego, nie widzę, jaką przewagę daje funkcja DateTimeOffset nad DateTime. Możesz użyć DateTime.UtcNow, który ma taką samą precyzję jak DateTime serwera Sql.
Alternatywnie, ponieważ używasz SQL Server 2008, możesz przechowywać swoje pole jako DateTime2 w bazie danych:zapewnia to dodatkową dokładność, której potrzebujesz.