The UNO has no way to detect if it's plugged into USB or if the COM port is open. There must be something else going on.
delay(100);
That's going to cause problems. How many serial characters can arrive while you have your hands tied for 100 milliseconds?
incomingSerialDataIndex++; // Ensure the next byte is added in the next position
incomingSerialData[incomingSerialDataIndex] = '\0';
This is also going to cause problems. You never check if you ran off the end of your array. Use a named constant for the size of the array and always check that you are inside the array bounds before writing anything to the array.