>>What about eating two entrees? 
When there are many mains, we call this grazing. In my experience, the user would then merge the strings together to create a super-entree that acts as the primary. Or, to reduce time required for logging, simply writes "grazing".

>>Only having dessert? etc.
Whether it's a lone dessert, a mid-afternoon snack, or a full entree, it can still be the primary. It comes down to what the user thinks was the subject of meal for comparative situational recall. If I am just eating chocolate cake, my BG doesn't care if I call it a snack, a dessert, or an entree. But it does care if I ate a burrito beforehand.