Using a blender, puree the cauliflower, chopped onion, milk, 1/2 c parmesan and the flour; season with salt and pepper. In a small bowl, combine 2 tablespoons parmesan with the breadcrumbs.
Spread 1/2 c cauliflower puree in the prepared baking dish. Top with half of the potatoes, then with half of the zucchini. Sprinkle with the half each of the sliced onions and remaning parmesan. Spread half of the remaining cauliflower puree on top. Layer the remaining potatoes, zucchini, sliced onions, parmesan and cauliflower puree. Cover with foil and bake for 45 minutes, then discard the foil. Sprinkle with the breadcrumb mixture on top and bake until golden-brown, about 30 minutes.