Rilevare porta seriale

leo72:
Però allora cos'è che fa lo sketch che ho scritto?

Non so perché da te il tuo sketch apparentemente funziona, però l'ho appena provato su una UNO R1, su una UNO R3, su una MEGA2560 R1, su una Luigino 328 (con FTDI) ottenendo sempre lo stesso risultato, alimentando solo da batteria il led rimane sempre acceso, collegando/scollegando il cavo USB il led rimane sempre acceso.
Ribadisco il concetto, l'ATMEGA328 non ha alcun modo per accorgersi se c'è o meno collegato un device all'UART, non esiste nessun registro che fornisce questa informazione e senza usare i bit aggiuntivi per l'handshake hardware, quelli usati dalla RS232, è impossibile ottenere tale informazione.
Solo sulla Leonardo è possibile sapere se è realmente collegata ad un pc la seriale, esclusivamente tramite USB, per via di come funziona la USB e perché è integrata nel micro stesso.