I therefore think that there is a bug in this piece of software.
I The value 0x00 is not typed, so it could be a char (NULL), a byte, or an int. The compiler is refusing to guess which method you want to use.
Actually, isn't the problem that the literal constant 0x00 is typed - but as an int?
note: candidates are: virtual size_t SoftwareSerial::write(uint8_t) note: size_t Print::write(const char*)