Dann liegt der Fehler doch hier:
if PortIn($379) AND $64 = $64 then
Denn ansonsten ist der Code identisch und du setzt den anderen Kram anhand dieser Bedingung. Nun meine Fragen: Warum machst Du das in C# und fragst hier ? Woher kommen diese Port Adressen ? Welche Temperatur und welches Gerät soll benutzt werden ?
Last but not least: warum läßt Du $64=$64 nicht einfach weg ? Das gibt immer true.