I would like to see this made somewhat more robust.
I'm using a UNO with Debian Lenny (nothing bleeding edge there) with the 0022 IDE. The IDE keeps 'losing' the ACM0 serial port, so I can't subsequently upload a sketch. The workaround seems to be to load an empty sketch (just an empty loop() and setup() function, nothing else), immediately before attempting to load my real sketch.
I also find that if I load a sketch form the Load button, it loads into the current IDE instance. However if I load the sketch using the File>Load menu item, a new IDE instance is launched for the loaded sketch. Thereafter it can't find the ACM0 port, reporting that it is already in use. My guess is that this is the first IDE instance grabbing it. The workaround is to close both IDE instances, start a new instance and load and then upload the empty sketch, then load and upload my real sketch using the load/upload buttons - and make a note to remember this in future (I keep forgetting!). I would love this all to be fixed.