Ad takovou RS485 - ale jistě. RS485 není RS232 :)
Ad proč to riziko existuje jenom v .NET - .NET používá garbage collector, a jeho načasování je z hlediska aplikace nedeterministické. Aplikace se tedy může na nějakou dobu "seknout", podobně jako v Javě. Bez flow control je ale riziko stejné i v C++, protože se provádění aplikace může seknout z různých jiných důvodů.
Ovšem pokud vám utíká víc dat (ne jednou za půl hodiny pár bytů), tipnu si že nemáte v obsluze události DataReceived zamykání. Buď bych tam použil lock, nebo implementoval thread který čte z com portu v loopu a čeká v něm na event, který mu pošlete z handleru události DataReceived. Obojí mi to přijde jako celkem základní techniky.