Hola
si tu programa escrito en el IDE de arduino
lo grabas en el arduino hardware.
Te puedo asegurar que mientras no lo borres de la memoria del chip
estara ahi siempre, ya puedes resetear con el boton o desconectar
la placa, que simpre lo tendras ahi, pero si le cargas otro programa,
lógico es que se quedara este ultimo.
Otra cosa es que el bootloader y el puerto serie se esten peleando
en la inicializacion del chip de quien entra primero, eso se soluciona asignado prioridades
y tiempo de espera, como hacen los procesadores de la cpu del ordenador
asignando cuantum a los procesos.
Un saludo.