I've just tested your code in Efficy 10SP2 and this resulted in:
Message: "old : 10800 - new : 12600"
You could also try to use the following for the new value:
Database.GetFieldValue(EditHandle, "DURATION", 0);
This also resulted in 12600 for the new value.
Are you sure that the value for the field Duration has changed to 3h30?