Preheat oven to 350 degrees. Spray a medium sized casserole dish with non-stick spray.
Fill a medium-sized pot half full with water, bring to a boil. Put broccoli and cauliflower pieces into the water and cook at a low boil until the vegetables are just beginning to get soft. The broccoli will cook faster than the cauliflower. If this is the case, use a slotted spoon to remove the broccoli. Check it often and don’t overcook as the vegetables will continue to cook in the oven.
While the vegetables are cooking, put cream cheese into a small bowl and stir in the sour cream, onion powder, and garlic powder. Add pepper to taste.
When vegetables are done cooking, drain into a colander placed in the sink and let it drain very well (for at least 5 minutes). You want as much water off of the vegetables as possible.
Put the drained vegetables back into the pot you cooked them.
Stir in the sauce mixture into the vegetables, then gently mix in the diced ham.
Season to taste with fresh-ground black pepper.
Pour vegetable and ham mixture into the dish, spread out evenly, and sprinkle with the cheese.
Bake 30-35 minutes, or until the cheese is melted and lightly browned and all the casserole is hot and bubbly.
Remove from oven and let sit 5-10 minutes for any liquid to be absorbed, and then serve.