serial.available liefert die Anzahl der Zeichen im Empfangspuffer, nicht die Existenz einer seriellen Verbindung.
Damit Dein Ansatz eine Chance hatte evtl. zu funktionieren, müßte der PC pausenlos die serielle Schnittstelle zumüllen.
Das ist bestimmt nicht das, was Du willst.
Wenn, dann kann man sowas nach meiner Meinung nur realisieren, indem der Arduino eine Zahl an den PC sendet, der PC diese in bestimmter Weise bearbeitet (z.B. verdoppelt) und diese zurück sendet.
Kommt eine bestimmte Zeit keine Antwort oder eine falsche, ist keine Verbindung da.
Gruß Tommy