My Mega app was surviving maybe as much as 5 minutes using the UIPEthernet library for Arduino >= 1.5. I made the changes as you suggest noting in particular that the reset has to come first. It's now been running flawlessly for 48hrs. I have have great hopes for this continuing.
I don't understand why this is still not in the main distribution after so long.
Anyway many thanks for posting this solution. It's a lifesaver.