I know exactly what you are talking about and you probably won't like my answer.
I've dealt with many P4 systems like this and you just have to unlatch the heatsink and pull as gently as possible. Sometimes the CPU stays in the socket, sometimes it remains glued to the bottom of heatsink. When the latter happens, there is good chance you can bend the pins on the CPU, so try to pull straight up. If the system allows, let it run for about 15 minutes to hopefully soften the thermal paste.
Sometimes I wiggle it a bit while the cpu is still in the socket to hopefully break the heatsink and cpu apart. Make sure not to raise up while you do this or you will bend the pins on the cpu.
If the CPU sticks to the heatsink, slightly take a screwdriver or better yet a plastic flat edge and pry the CPU off the heatsink. That's the only way it can be done as far as I know.
Just be careful.
EDIT: And if you do bend the pins, let me know, because there is a trick with a razor blade that can often bend them back into place fairly well. Real rocket science, I know.
Edited by Ferrari, 10 April 2010 - 08:24 AM.