More info here, got some time to get back to this. I am beginning to suspect this is a bug so I will put in a case.
I've tried all three constructors for DatetimePrimitive, all accept the date and do not error but tomcat restart looses the data.
The final one, not mentioned above:
DatetimePrimitive dt = new DatetimePrimitive(); dt.setValue(DateTime.now()); usr.setPropertyValue(DevicifyConstants.GLOBAL_PROPERTY_LAST_UPDATE_TO_SFDC, dt);
I have tried initializing DateTime various ways but that is not it either.
I want to test this on 7.2.x to see if it's there but in the meantime I am going to put in a ticket.