Actually, my experience is that if you queue multiple items, it will consume them in order until ode or milk would run out and then it will prompt. If you say "don't do it", it will continue on with the next queued item and check again - and it may or may not prompt. If you have 3 turns of Ode left and a 4, a 2, and a 2 queued, it will prompt for the 4, drink the 2 (reducing Ode to 1) and prompt for the last 2. In any case, the queue is emptied.
Looking at ConcoctionDatabase.handleQueue, that is exactly what I see: it pops everything off the queue and processes them in order, calling UseItemRequest for each item - which is where the "do you want to continue" checking happens. It never checks for whether UseItemRequest failed. Presumably if it does fail, it should abort processing right then and restore the queue - including re-queuing consumption helpers.
That is a change of behavior from the current situation, where if you say "no", it will go on and (possibly) succeed with a smaller size consumable which is later in the queue.
Is that how we want it to work? If you say "no", it should stop right then, rather than moving on? I think so.