I've noticed that zero seems to be negative for treaties. From memory you can see the same thing if you give gold to bring the value from negative up to zero. At zero the AI says No, whereas for other, non-treaty trades zero is ok.
I assume for treaties the test is for > 0, for other trades the test is >= 0. Probably not intended, not exactly a massive bug but probably quite easy to fix.