Reading one data from Hardware Serial, then Software Serial

    while(Serial1.available()){      //clear the Paro data buffer

Serial1.read();
      loop();
    }

So for every character in the buffer, you throw away the first one and then try to process everything else in the buffer with loop(). That looks like a very bad idea as you can end up using up all your memory with nested copies of loop().

Here's your problem...

  while(Serial1.available() && newParoData == false){

pc = Serial1.read();

You only process characters out of the Serial1 buffer when there isn't a completed data item. When there is, and you're waiting for the Honeywell, then it just fills up the buffer.

I would change this to discard the additional characters while newParaoData is true.