I was able to run your Arduino code and VB application. When I ran the VB app, the arduino saw the serial data, and read it.
I unplugged the Arduino, and plugged it back in. It resumed running the sketch (modified to blink the on-board LED so that I could see it was running).
I ran the VB app again, and the Arduino was happy to read serial data. After blinking the 2nd LED, it resumed blinking the 1st LED.
There are some issues that should be addressed, though.
The Arduino sketch begins running as soon as it is powered up. When at least one byte arrives on the serial port, you read 6 characters, whether there are 6 to read, or not. If you are going to read 6 characters, you should wait to read any until there are 6 to read.
The character array is not NULL terminated, so it is not a string. If it were, this:
if( A[0] == 'E' && A[1] == 'l' && A[2] == 's' && A[3] == 'o' && A[4] == 'n' )
could be replaced by this:
if(strcmp(A, "Elson") == 0)
To NULL terminate the array, change this:
A[x] = Serial.read();
to this:
A[x] = Serial.read();
A[x+1] = '\0';
This:
// covert string A back to its original content:
A[0] = 'A'; A[1] = 'd'; A[2] = 'a'; A[3] = 'm'; A[4] = ' ';
can be shortened to:
A[0] = '\0';
strcat(A, "Adam");
Try adding this:
for(byte b=0; b<10; b++)
{
digitalWrite(13, HIGH);
delay(250);
digitalWrite(13, LOW);
delay(250);
}
to the beginning of loop, to see that the sketch actually does start running as soon as the Arduino is plugged in.