As I said earlier:
The positive 100's appear due to the binaric nature of a byte.
Usually, 8-bit sequence declared as type:byte allows numbers from 0 to 255. 8-bit type:small_integer stands for -127..127 and the very first bit of the byte is a sign-bit. If you decrease the negative number by 1 consequently, after -127 you will be getting bit inversion in the very first bit and the resulting number will be in positive 100's. So, it is the bug in the RouterOS, when signal gets too weak, it jumps to positive value.