I've stumbled upon another issue yesterday: we have CachedRating field (in category items), that has "0.0000000000" value in database and "0.00" default value (format with 2 digits after comma). When value is submitted from form, then we have "0.0000000000" in original field and "0.00" as field value. They are compared as strings (to determine changes) and they differ resulting wrong change log record to be created.
I propose for each changed field we compare it's formatted original field and normal field values to determine if they are really different.