The proposed API does not have those limitations, as the callback 'results' can be just a list of timers which have to be queried to get their values.
Query the first and last to get the overall time, then query more timers if you want more results.
At that point (in the callback) all the timers are available and ready.
Each frame has his own new asyncCounters. In fact one single frame can have more than one set of queries and associated callback