Presently, metacache can return a finished Foswiki::Meta obj if somebody somewhere has called $topicObject->finish().

This madness is/will be repaired in the store2 refactor (read-only topicObjects).

As most developers are naughty and generally don't ->finish() their objects in quite the sequence and circumstances (interactions with SEARCH) required to trigger this bug, nobody but me seems to have noticed.