26 August 2013 at 10:35pm
I'm not sure that this is the case here, because I've seen a some discussions of partial caching not always actually caching... But just a hunch: SilverStripe tries to cache many of its queries and objects along the way, so could it be that menu(1) already uses cached queries in the first place?
I often test these kind of things by placing some echo "*****" in the function involved, say at the start and the end of the function. Kinda simplistic and dirty, I know, (hiding my face) but quick to spot any sql queries executed by that specific function :)