Arduino wont start unless COM Port is open, works as intended afterwards

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.