• Agree it could be a handful of other things. Have you considered possibility that somebody placed a DBCC FREEPROCCACHE on some job/ad-hoc script/or proc? I would give it a try by setting up a trace to look for just that. The command would be quick to execute and one might miss it if it's just being observed casually/visually.

    I've had a case where a GRANT statement was at the end of a proc, which didn't make sense. He did complained why the simple SELECT proc won't run w/o sysadmin access. Turns out it was a mistake not removing the GRANT statement at the very end of the proc.