Unreliable programming with new Arduinos

And another thing:

How come, when I start the IDE, it sometimes comes up with the last sketch I used, and sometimes comes up with a useless new blank sketch, which I then have to delete.

Why does it do this ?

If it is supposed to be saving the name of the last sketch I used, in some config file or registry entry somewhere, why doesn't this happen every time ? It would not surprise me if this bogus behaviour is somehow linked to the COM port conflict.