um, are you sure that ago() should be declared iscachable? the
result returned by ago() presumably depends on more than just
the parameters passed in (ie the current time when the call was
made)...
I don't see how that would cause the problem you're seeing, but
it still looks wrong to me...