works: MIDI-IN: code + schematics

No, wait it seems ok, because if the velocity is 0, the velocity is <10 then the light is LOW.
I have no much time for this right now, but I noticed a detail:

     if ( (action==1)&&(note!=0) ){ // ...and then the velocity
      velocity=incomingByte;
      playNote(note, velocity);
      note=0;
      velocity=0;
      action=2;                  //and not "action=0;" to reinit the value
    }

Otherwise, are you sure polyphony is activated in your software and you didn't miss a setting?