Does one Need to Slow Down Processing in Order for Arduino to Catch Up?

  if (blnLCDRefresh) {
   blnLCDRefresh = false;
  }

What is the purpose of this? If the variable contains false, set to to true. Otherwise, leave it at true.

      arrChrBuffer[i] = arrChrBuffer[i] + incomingChar;

Why are you adding the character to the character already in the array? It seems to me that you should be REPLACING the character in the array.

    for (int j=0;j < SERIAL_INPUT_BUFFER_SIZE;j++) { arrChrBuffer[j] = '\0'; }

Once again, it appears that you do not understand that a string is NULL terminated. It is not necessary to fill the whole array with NULLs.

  // Catch a breath.
  delay(100);                      // Wait a bit.

The Arduino is not breathing hard. Get rid of this!