Hi,
In Deinem Code ist mir folgendes aufgefallen:
Du springst mit einem goto von MIDI_IN_ST oder von MIDI_IN_CL in die Tastaturabfrage, diese sehr stark verschachtelt. Ich frage mich, ob der PIC da geordnet wieder heraus findet?

Bei der Initialisierung der Ports brauchst Du die Ports nicht als Eingang definieren, sie stehen als DEFAULT auf Eingang.

GRUSS
INGO