I've got Delphi XE and it's horrible on the COM support side. It is, however, pretty darn stable when developing outside of the COM world. So, outside of COM development issues, I really like it's look and feel, stability, and the environment. I can't remember if Delphi 2009 had generic support, but if it didn't, the language sure has improved because of it.
Another thing I like about XE is that, for new projects (and you can modify this for existing projects), when you compile a project, all the .dcu's and the .exe go into separate folders depending on your configuration settings. Like, when I compile a program in Debug mode for Windows 32-bit, it goes into [ProjectFolder]\Debug\Win32. By doing this, it lets me see all the units it had to compile. This helps me clean up my directories. So, for example, if I see a bunch of TMS Smooth Control files in there, I know that I need to change where I compile my TMS Smooth Controls package. The .dcu's need to go in one place and my Library path should point there. My Browsing path should point to where the .pas's are. After making these changes and deleting the file from the Debug\Win32 directory, I should be able to Build my executable and not waste any time rebuilding source files I never change. That's been good.
It's also nice when debugging to be able to examine string list elements and to see TDateTimes in human-readable format instead of as floats. I don't know when the next Delphi's supposed to come out, but if it comppiles 64-bit apps, then yeah--you may want to wait for that.
GIS Programmer
City of Orem, UT