It's possible that it happens when two posts are added simultaneously - hence the rare occurrence of the issue.
In the NZCT branch there is a change to the ID generation in DataObject::write() - can you check to see if SS is running with this code?
The ID should *not* be generated with DB::getNextID() - instead, it inserts a blank record and passes that to the rest of the write code.