Die Frage ist auch ob die SerialPort.Write Funktion bei dem String "start" die gleichen Bytes sendet wie deine WriteMessage Funktion. Ansonsten das Beachten was bereits RolfD geschrieben hat