This is not a bug, but a consequence of the integer representation. The specObjID values in Data Lab tables are cast as signed integers, because this is what the database supports. However, some specObjID values are larger than 263, therefore these will be negative in a signed representation.
If you need to work with unsigned values of specObjID, you will have to use a more advanced query interface, such as the Data Lab query client.