Preheat oven to 400 degrees with rack in lower third. Butter a 1 1/2-quart, deep, wide ovenproof dish. Put endive in bottom of dish. Arrange pasta or couscous over endive. Top with cauliflower.
Melt butter in a medium saucepan over medium heat. Whisk in flour. Reduce heat to medium-low. Cook, stirring, 2 minutes. Whisk in milk; cook, whisking, until mixture thickens, about 4 minutes. Remove from heat. Whisk in marjoram, salt, black pepper, and cayenne. Whisk in Gruyere until smooth. Pour over cauliflower. Sprinkle with breadcrumbs. Set dish on a baking sheet.
Bake 30 minutes. Sprinkle with Parmesan. Reduce temperature to 350 degrees; bake until cauliflower is tender, about 40 minutes. (If browning too quickly, tent with foil.) Transfer to a wire rack; let cool 10 minutes before serving.