Как использовать QtSerialPort?
Семантика всех таких вызовов одинакова - вы указываете, сколько хотите передать, write выдает, сколько реально передал или -1. Проверить код возврата (и почитать документацию), вы конечно не удосужились
Как отметил Армянское Радио - нужно проверить в первую очередь код возврата.
Во-вторых, возможно вызов процедуры bool QSerialPort::waitForBytesWritten(int msecs) может помочь.