Preheat oven to 350. In a large, heavy skillet, melt butter over medium high heat and cook onions and asparagus for 3 minutes. In a large mixing bowl, stir together eggs, cream and seasonings. Place cooked onions, asparagus and ham into a baking dish and pour egg mixture on top. Bake for 10 -15 minutes and sprinkle cheese on top to taste.