I have not seen this, but i can imagine one reason for this: Do you use the print-layout on the site?
If the cache is regenerated at the exact moment when somebody views the print layout, that will be stored and used for later, since that is not part of the keys to the cacheblock.
I think you can also use $link.object.data_map.nome_abbreviato.has_content instead of the counting?
But one option would be to use $link.url|ezurl as a cache key, since that includes the layout/set if that is active. Maybe cheating a little, but it should work...
In the pagelayout you can ofcourse use $module_result.requested_uri_string (if i remember the correct name of the variable) as a cache key, but that does not work inside the node-view-template which is what he is using here.
indeed we do use print layouts on some other templates, but those templates refer to node-view tempates, while the template shown here is for a dummy node (used to display info about other nodes spread over the content tree). So I think that at least the $node.node_id value should be different thus differentiating the cache block keys.
Anyway, I will try that $link.url|ezurl trick and see if it solves the problem (if it's usable from a node-view tpl)
I tried the $link but it seems it is not defined in nodeview templates. I don't seem to be able to access that info anywhere else in the $node variable. any help?