I recently upgraded from Delphi 4 to Delphi 2009, primarily because of Unicode, but also because of the many improvements everywhere in Delphi since my Version.
But the unexpected improvement that pleased me the most when I upgraded was the new IDE (Integrated Development Environment). Delphi 7 and previous versions had an undocked layout that drove me crazy. Now it is one docked form that can be resized and moved around easily. Not to mention many improvements to it that make every programming task easier. Remember, you spend all your programming time in front of the IDE, so every little thing made easier is a time saver.
When debugging and stepping through the code, all local variables are watched by default. That is extremely helpful.
The FastMM Memory Manager is built in.
And I now have both Delphi 4 and Delphi 2009 installed, and I can run either one, or even both at the same time. That was extremely useful when converting my programs, because I could debug and step through both together to ensure the converted program was working right.
Also, Embarcadero still gives a special upgrade price that Borland and then Code Gear did for all previous version owners. They didn't have to, but that is a great move on their part to treat the early adopters of Delphi as their VIPs.
What don't I like? Well, Delphi 4 started up in 2 seconds. Delphi 2009 takes about 15. But it's fast after that. Also stepping through code goes into the CPU code much more often because it is often inlined, and I don't think there's any way around that.
If you need Unicode, don't think twice about upgrading.
If you don't need Unicode, there are still enough improvements from Delphi 7 and earlier to make it worthwhile to finally jump.