1) Yes, I did mean 2011. Sorry about that.
2) Before setting the attribute with the new DateTime, it does have a DateTime (mm/dd/yyy tt:tt:tt AM) object. This object includes the Day, Day of the Week, Kind, Hour, Ticks, etc. There's a bunch of stuff in there. The Date part of it is fine. It's the TimeOfDay part that gets messed up.
3) Yes, the Save Failed event is wired up, but it's never triggered.
When I put a break point and debug at the point where the attribute is assigned, I can see that the "DateTime.Now" contains the correct information while the "DateTime.UtcNow" has the wrong information. It seems that even though I"m assigning the first value, it's actually saving the last value.