Il faut aussi penser au cas de figure où le moniteur série se ferme alors que le programme a démarré.
Je pense qu'il faut un ping permanent. Après, je ne sais pas quelles sont les contraintes de l'application mais a priori la détection de communication perdue ou retrouvée via un système de ping peut largement se faire en moins d'une seconde. Même en 100 ms ça ne devrait pas poser de problème.