I once had an old towel which I used for swimming, and it went really hard, and started to smell. I decided to wash it at 95º, to try to get rid of the smell, and much to my amazement, it went really soft again as well. You may not be able to wash your nappies that hot, but if they're cotton you can.
The other thing I did once, which was a last resort but worked, was soaked in a VERY strong vinegar solution - I think it as about 50% then rubbed them really hard in the solution, then rinsed. That helped a lot