Which is the sub-VI in question? (I interpret that the ChangeTheTemperature.vi is the main, not the sub-vi...).
One thing I noticed was that you send a serial command and then check bytes at port immediately and instruct the read VI to read those bytes. Normally this would happen so fast that the serial unit you send data to would not be able to answer in time...it would answer though and the next time you run that data will be available at the port. Could that be your problem? Put a probe at the bytes at port property and see if it returns a zero or less bytes than in the actual reply...
If you search the LabVIEW examples you'll find VISA based serial comms examples that use e.g. the timeout functionality to ensure that the read VI will wait
.
Off topic: why write to the graph using a local...just wire the data straight into the indicator. You can still have the property node where it is. Same goes for chamber session, digital etc...If you want to read them in more than one case you could use a shift register too...Locals are inefficient, causes more memory usage, less speed and can give you problems with race conditions, it's good to make it a habit to use wires where you can.