Hallo demmy,
in der Hilfe zu Config SerialIn steht, dass man nicht direkt mit den _rs... Variablen arbeiten soll. Du machst das hier sehr ausgiebig. Aber wenn es so funktioniert ist es wohl ok.
Geschwindigkeit zu erhöhen sehe ich einige Möglichkeiten:
1. Du verzichtest auf den Eingangspuffer und rufst die ISR vom UART direkt auf. Dort speicherst du die ankommenden Bytes direkt in dein Array s_bus_empfangsarray() und erhöhst einen Counter. Das ist dann sehr ähnlich zu der von Bascom erzeugten ISR, die im Hintergrund existiert.
In deinem Code ist die Funktion Checksumme_berechnen() nicht enthalten. Wenn möglich, würde ich in der Sub schon die fortlaufende Checksumme vorhalten. Dann brauchst du am Ende nicht den Wert von allen 14 zu berechnen.

2. Du setzt An_k1 auf die Adresse von s_bus_empfangsarray(3)
Dim An_k1 As Word At S_bus_empfangsarray(3) Overlay.
Dadurch ersparst du dir die MakeInt Berechnung. Ebenso machst du es für die anderen Werte, immer auf die Adresse des Low_Bytes.

3. Wahrscheinlich kannst du den gleichen Trick bei dem Array s_bus_sendearray() und den Variablen von_k* anwenden.
Evtl. kannst du auch da die Berechnung der Checksumme mit jedem Byte direkt fortschreiten lassen.

4. Evtl. kannst du dierekt beim Empfang eines einzelnen Bytes schon die Ausgabe durchführen. Dafür habe ich den Code allerdings noch nicht genau genug analysiert, um hier eine definitive Aussage machen zu können.