For a while now I thought the arduino reset when you open the serial monitor. Now I'm not sure.
When I run this simple program:
void setup() {
Serial.begin(57600);
Serial.println("Setup");
}
void loop()
{
Serial.println("Loop");
delay(1000);
}
and open the serial monitor I see the loops being printed, but not the Setup being printed. I have to press the reset button to see the setup printing.
Is it supposed to be like this?
I'm sure ages ago if I closed and reopened the serial monitor the program would reset and I would then see the setup being printed.
Mine does (1.0.5, FTDI equipped arduino).
At that speed I get garbage, but at 9600 it prints setup-loop-loop etc and I tried it a few times, each time it prints setup-loop-loop
Uno and 1.0.5
Now I'm confused - why doesnt mind 
Arduino Uno.
v1.05
Running Windows 8
Update: Also tried dropping baud to 9600 - didn't fix it.
Update: Ahh - problem fixed. I tried 1.0.1 and it works as it should. Tried my version - broken. Downloaded a new 1.0.5 and it works.
After examining some files and racking my brain it turns out a while back I installed a new rxtxSerial.dll file which fixed slow serial problems as per here http://forum.arduino.cc/index.php/topic,46977.0.html
I think this was fixed in 1.0.5 so no need for the new file.
I recopied the file from the fresh download and it fixed the problem.