Jun, I think that sounds like a very error-prone way to deal with timed queries, which should depend on having date calculations as part of the query itself.
This is true whether or not one uses a caching db_* API, util_memoize, or ns_cache natively.
It would take a much better example than this for me to believe that per-query timeouts are more useful than dangerous.