So nach einigen weiteren Stunden des rumprobierens hab ichs nun endlich geschafft
Meine Fehler:

-Ich wusste nicht das der mc deim Input ein echo sendet, deswegen immer die mysteriösen rückmeldung die ich nicht auswerten konnte.

-mc Programm hatte ich warum auch immer als baudrate 9400 statt 9600 programmiert.

-Die abfrage der Rückmeldungen mache ich nun durch das DataReceived Event des Com Ports.

-im mc programm hab ich nun noch eine bestätigungsmeldung eingebaut die gesendet wird, wenn der Motor die Schritte abgeschlossen hat.

Hier nochmal der aktuelle code des PC-Programms:

Code:
Module Module1
    Dim WithEvents myport As New System.IO.Ports.SerialPort
    Dim Daten() As Byte
    Dim buffer As Byte

    Sub Main()
        myport.PortName = "COM2"
        myport.BaudRate = 9600
        myport.Parity = IO.Ports.Parity.None
        myport.StopBits = IO.Ports.StopBits.One
        myport.DataBits = 8

        myport.Open()

        Do
            myport.Write("l")
            myport.Write(Chr(13))
            Checkinput()
            MsgBox("Richtung empfangen")
            myport.Write("400")
            myport.Write(Chr(13))
            Checkinput()
            MsgBox("Geschwindigkeit empfangen")
            myport.Write("2000")
            myport.Write(Chr(13))
            Checkinput()
            MsgBox("Schrittzahl empfangen")
            Checkinput()
            MsgBox("Motorlauf Fertig")

        Loop
    End Sub

    Private Sub Checkinput()
        Do
            If buffer = 79 Then
                buffer = 0
                Exit Do
            End If
        Loop
    End Sub

    Private Sub myport_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles myport.DataReceived
        buffer = myport.ReadByte
    End Sub

End Module