Das könnte dann echt zu einem großen Problem ausarten, oder sehe ich das falsch bzw. ist in dem Code schon eine gewisse Fehlerkorrektur eingebaut?
Der Code hat (ist gut kommentiert, steht da alles bei) nur insofern eine Fehlerkorrektur als dass die empfangende Seite das bit "Fehler" setzt, wenn das Stopbit gestört ist.
Man könnte an das Datenbyte auch noch ein neuntes Bit anhängen, das angibt, ob die Summer der 8 Bits des Datenbytes gerade ist. Eine einzelne Störung würde damit zuverlässig erkannt (einfach in der Senderoutine eine Schleife, die die Bits aufaddiert und das letzte Bit der Summer sendet. Der Empfänger addiert auch alle Bits und vergleicht wieder die Summe mit dem 9ten Bit. Dann weis man zumindest, dass etwas schiefgegangen ist und kann das ignorieren oder nochmal abfragen.). Das Problem, sowas in Bascom zu machen, besteht darin, dass so genau nicht feststeht, wie lange die Rechnerei dauert(damit man das von den Wartezeiten abziehen könnte).
PS: Was spricht eigentlich gegen das UART, das die meisten AVRs schon eingebaut haben? Das macht im Prinzip das gleiche wie der Code da oben und ist dabei wesentlich schneller (und man kann auch gleich Parität einstellen, wenn man möchte.). Da es in Hardware implementiert ist, geht das auch nicht so auf die allgemeine Rechenleistung.
PPS: Das soll nicht heissen, dass es nicht manchmal interessant sein kann, das Rad neu zu erfinden.