Preheat the oven to 400F and grease a medium baking dish with olive oil.
Rinse and dry the zucchini. Use a paring knife to cut a neat hat off the top of each. Carve the inside with a melon baller or a sharp-edged spoon, making sure you don't break through the skin. Reserve the flesh. (If you use long zucchini, slice them in two lengthwise, and carve the centre to form boat-shaped containers).
Put the zucchini shells and hats in the prepared dish, drizzle with the tablespoon of olive oil, and sprinkle with salt and pepper. Bake for 20 to 25 minutes, until tender but still holding their shape. (This yields tastier results than boiling the shells: it will concentrate and caramelise the flavour of the zucchini).
Meanwhile, cook the bulgur in stock or water according to package instructions and let cool. Toast the pine nuts in a dry skillet.
Heat the teaspoon of olive oil in a large skillet over medium-high heat. Add the onions and cook for 5 minutes, stirring regularly, until softened. Add the reserved zucchini flesh and season with salt and pepper. Cover and cook for 5 minutes, stirring from time to time. Remove the lid and cook for 5 more minutes, until all the juices have evaporated. Remove from heat and let cool slightly.
When the zucchini shells are tender, take them out of the oven (leave the heat on) and put them upside down on a plate lined with paper towels. Combine the zucchini mixture, bulgur, cinnamon, red pepper flakes, if using, goat cheese, mint, and pine nuts in a medium mixing bowl. Mix thoroughly with a fork. Taste and adjust the seasoning.
Set the shells upright in the gratin dish, spoon in the filling, distributing it evenly, and top each zucchini with its hat. (The recipe can be made up to a day ahead up to this point.) Bake for 10 to 15 minutes, until the filling is heated through, and serve immediately.