On my 4870, I have seen the best result using poclbm using -w 256 -f 60 and SDK 2.1.
I used MSI Afterburner to downclock memory to 190, which increased my hashrate by a few MH/s and lowered temperature and power usage.
Overclocking to core to 830 then yielded the current 100.4 MH/s I currently see.
Bumping -f 60 down to -f 10 got me 104.6 MH/s, but since I use the computer also, that gives too much interface lag.
To be able to underclock memory to 190 with MSI Afterburner, you need to unlock the safeties on it.
Open the MSIAfterburner.cfg and scroll down until you find "[ATIADLHAL]". Replace that section with the following:
EnableUnofficialOverclocking = 1
UnofficialOverclockingEULA = I confirm that I am aware of unofficial overclocking limitations and fully understand that MSI will not provide me any support on it
UnofficialOverclockingMode = 2
AccessibilityCheckingPeriod = 0
When you underclock then, you need to close MSI Afterburner and reopen it after turning the memory clock to it's lowest. Repeat until you get down to the clock you want.