Well, to be honest, I think a solution where the menu entry "Cache this WP" would change to "Clear WP cache" whenever a waypoint is in cache, would be the absolutely fabulous kick-ass solution.
Two other solutions are the one that empties the cache automatically (with all the advantages / disadvantages described by me & KWo) and, of course, the one that's in the code right now. The only problem I had with the current solution is that I didn't know it!
I'd say this is very low-priority anyway, so I wouldn't insist on changing it now. In the long run, the solution I described here might be the nicest one, but I can work very well with the function as it is now - now I know it!