Currently, WriteValue(DateTimeOffset) writes only the UtcTicks portion of the DateTimeOffset and ReadValueAsDateTimeOffset() returns a DateTimeOffset with an offset of TimeSpan.Zero (UTC).
Consider that this may cause some confusion if a DateTimeOffset is serialized with a local timezone offset and then deserialized as UTC.