Lyle,
For this sort of thing, best to submit an enhancement request.
That said, a few days ago I was experimenting with using query caching in ACF 11 and found it much too buggy to rely on. I was trying to set the cacheId to be able to programmatically clear the cache, but simply couldn't get it to work. I wound up implementing it by using cachePut() and cacheGet(), which worked perfectly from the get go. Here's some code to explain:
var qOpenWorkPeriods = cacheGet("sal-findOpenPayableWorkPeriodHoursInDateRange");
if ( isNull( qOpenWorkPeriods ) ) {
var qOpenWorkPeriods = findOpenPayableWorkPeriodHoursInDateRange( arguments.companyId, arguments.startDate, arguments.endDate );
cachePut("sal-findOpenPayableWorkPeriodHoursInDateRange", qOpenWorkPeriods, createTimespan(0,0,0,30));
}
To me, it is much more straightforward to use the cache functions for caching, and they work. You'll find these cache methods also implemented in Lucee, and I'd suggest doing it this way. In both ACF and Lucee, CacheRemove() will take either a list or array of id's.
In ACF, the cacheId's for queries are buried in an automatic region or something, and no matter what I tried, setting a custom region, using dot notation to try and drill down to the cacheId, using the cacheId without the region, hunting for them using getAllCacheIds, cursing at the screen ... nothing worked. I may simply be an idiot missing something obvious, but I will never try to use a cacheId on a query again in ACF.