I bet there are some good articles that we can link to about painful stories with caching.  I think Coding Horror has a nice post where he says "caching and naming variables are the two most difficult things in software development"