If you can afford the 7870, I recommend that. It performs better than a 6970, uses less power, and has better gpgpu performance.
Also, taking the chance at unlocking the shaders may not work in your favor.
"If you can afford" is the key here. Reading these forums has increased my appetite for a good GPU(s), but I am trying to balance performance AND value. I am certainly not expecting either of these cards to be the "best thing" out there.
I think, at this point in time, that I am either going with one card at this point. Assume that the 6950 is fully unlock-able. Is a $250 2GB 6950 (6970) a better value than a $350 7870?
The consensus so far seems like I should go with the 7870...
I can't tell you about single cards, but in crossfire the cayman cards are beastly. My 6970x2 rig gets 11500 graphics score in 3DMark 11 performance benchmark. That's beastly and 100% + scaling. I am pulling down 80+ fps in BF3 totally maxed in 1080p with every setting jacked and my CCC settings all set to quality. I doubt very seriously any single GPU out today, let alone a 7870, could ever top my graphics solution.