Arduino Uno "lost" serial port

Hi
I made a setup with Transistors and 1k resisitor to the base for 10 relais to control lights on my model train setup.
I connected the Uno to it for outputs 13 to 4.
I connected the Uno to an external 12 V DC power supply.
I connected the 12 V relais to the Vin pin of the Uno.
I uploaded the "blink" program to check one relais after the other.
The first relais followed the blink, so I uploaded the sketch with out puts 12, 11, 10
So far so good.
In parallel I connected my iPhone to another USB port.

Then it happened

All of a sudden the serial port of the Uno was gone.

I tried another Uno, it connected.
I tried the Uno with another computer .. nothing.
I switched to another USB cable ... nothing.

When the Uno in question is connected to the USB cable, the green power LED is on. The LED 13 is still blinking. So th eBlink sketch is still running.
I measured pin 13, it is switching between 0 and 5 V DC.
I measured Vin, it shows 12 V.

I connected pin 13 to my relais - transistor setup. The relais are still switching. So I assume that at least output 13 is still OK.

However the tools in the IDE does not allow to connect "serial port", that menu section is grey.

I am using an Acer computer with windows 7 (64) and another laptop with windows 7 (32).
Both can manage other Arduinos (Uno and diecimila), however this board no longer.

What went wrong, can it be fixed? or shall I buy a new one.

But I want to know what happened, so it should not happen again.

Thanky for your help.

Wolfgang

This, too, has happened to me under very similar circumstances. After I uploaded the sketch below, the port (COM3 in my case) was no longer available and I, therefore; was unable to connect to my UNO.

//VVVVVVVVVVVVVVVVVVVVVVVV
int LED0 =2;
int LED1 =3;
int LED2 =4;
int LED3 =5;

int randNumber0;
int randNumber1;
int randNumber2;
int randNumber3;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);

pinMode(LED0, OUTPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);

randomSeed(analogRead(0));
}

void loop() {
// put your main code here, to run repeatedly:
randNumber0 = random(2);
randNumber1 = random(2);
randNumber2 = random(2);
randNumber3 = random(2);
if (randNumber0==0){
digitalWrite(LED0, LOW);
}
else
{
digitalWrite(LED0, HIGH);
}
if (randNumber1==0){
digitalWrite(LED1, LOW);
}
else
{
digitalWrite(LED1, HIGH);
}
if (randNumber2==0){
digitalWrite(LED2, LOW);
}
else
{
digitalWrite(LED2, HIGH);
}
if (randNumber3==0){
digitalWrite(LED3, LOW);
}
else
{
digitalWrite(LED3, HIGH);
}
Serial.println(randNumber0);
Serial.println(randNumber1);
Serial.println(randNumber2);
Serial.println(randNumber3);

delay(500);
}
//^^^^^^^^^^^^^^^^^^^^

I have rebooted my win7 computer, tried various combinations of plugging and unplugging, reset, etc. I have also uninstalled and resinstalled the IDE and driver to no avail.

I realize that this is an old topic, but any response would be appreciated.