I can confirm this behavior.
The problem is located in file: ajaxsaveedit.php
line: 130
Replace this:
} else if (!$value && $nulls[$keyname] == "YES") {
With this:
} else if ($value === "" && $nulls[$keyname] == "YES") {
As !$value will return true on "0", so we have to be sure it is an
empty string what we want to convert to NULL. or not?
If you don't want to convert empty strings to null, then just comment
out that line and the next one.
Or you can specify (dirty solution) your own string to use as null,
for example:
} else if ($value == "_NULL_" && $nulls[$keyname] == "YES") {
I think there could be a checkbox next to the field name to mark it as
null. But anyway... this is a temporally solution.