in reply to negative exit codes?

I am pretty sure exit status codes are limited to 8 bits -- see this Wikipedia article: Exit status

That's why a status of -1 is showing up as 255.

Trying this: bash -c 'exit -1' produces the error Illegal number: -1, so I doubt status codes are meant to be interpreted as signed integers.