I don't know if RouterOS has anyway of telling you if there something is a cache hit or not. There is a a plugin for SQUID proxy though that will allow you to change the TOS on packets that are coming from the cache. You can then set different mangle and queue rules on the MT based on the TOS. It's what my provider uses. Sorry I don't remember the name of the specific plugin to SQUID
Very Excellenet hack the enables you change the TOS byte of Cached contents. its Located here -
http://www.it-academy.bg/zph/ I use it too but it requires that you have another server doing transparent caching and you bandwidth manager preferably working in bridge mode.
Note that the patch differentiates contents that are cached by changing the TOS to any of your choice. The Idea is to have the bandwidth manager penalise a client when an object is being fetched from the Internet, whether proxied or not and then allow the user full bandwidth when client uses the proxy server and the request object is in the proxy servers cache.
If am correct the example in
http://www.mikrotik.com/docs/ros/2.8/ro ... t#6.54.7.4, allows the client full bandwidth at all times so long as proxy data is used, whether cached or not. This is different from the ZPH scenario where TOS is used to differentiate a stored content VS a direct, even though proxied. I prefer the ZPH method as it provides more flexibility.
I wish MT could make us two versions of web-proxy package, one standard and the other with the ZPH patch that will allows us set any TOS of choice in winbox for cached content and then later use mangle to do whatever we want with it.