I agree the instance based pricing is too complicated because of the nature of how GAE works. On GAE we have no control on resources, Google control it all. What we can control is what our code does during the life time within a request.
On instance based pricing (the upcoming one) all we are ASKED to do is to make our request return faster. However there are many area we cannot control regarding the time: datastore wait time, URL fetch (the only way to communicate between backends and frontend instance), etc
GAE have been charging for CPU time for all operations because thats what we can almost fully control (except extra datastore performance due to google's server performance), thats why most GAE users (at least the heavy users) think the old charge model make more sense, even GAE charge us more on CPU based pricing.
Many of us have raised the concern from the beginning that instance based is not how GAE works. Still they are going for it without a valid reason, at least without much reasonable reasons (to me). There are so many methods to charge us for using their machines or occupying the memory of their machines, yet they go for a way thats not how GAE works.