I've had this in D7 too - but really only with one particular project (admittedly very large, many many forms and home-brewed custom components). Other projects (some equally large) were fine.
My feeling was that it was somehow related to using frames and/or forms that were subclassed from other frames/forms, where you would have the descendant form open in the IDE/debugger but not the ancestor form.
Because, just like you, I felt it was a monstrous pain to shut down and restart the IDE half a dozen times a day, I took the trouble to create a .DSK file for the project, that had all the parent form stuff in it, so that when Delphi started-up that project it opened all those other forms 'automatically'. Once I was sure I'd got the contents of the DSK right, I made the .DSK file read only...!
It meant that the editor would 'forget' which files I had open at the time, but at least it would always automatically open up all the stuff that seemed to make the IDE 'behave'. If I was going to be working on a particular handful of files for a few days, I'd just manually add them to the .DSK file.
I seem to recall that Delphi would make some passing complaint about the file being read-only, but this method took away about 80% of our daily pain.
And then the other thing I did was to have the Task Manager load up, minimized, as part of my system startup. At least then it was a simple case of ALT-TAB to get to something that could kill the IDE. :-)