Preheat oven to 350 F. Lightly butter a 9x13x2 inch baking dish.
In a large skillet, add pork sausage. Fry over medium high heat, breaking apart into small pieces, 8 to 10 minutes. Remove from pan and drain on paper towel to remove excess fat. Remove all but about 1 tablespoon of fat from the skillet. Return skillet to medium heat and add onion and potatoes. Cook potatoes over medium 3 to 4 minutes. Add mushrooms and continue to cook 3 to 4 minutes until potatoes are soft and mushrooms have released their liquid and liquid has evaporated. Remove from heat.
In a medium mixing bowl whisk together eggs, half-and-half, mustard, salt, pepper, cayenne, and 1 cup of cheese.
Pour 1/2 of potato mixture and sausage into prepared baking dish, spreading evenly across the bottom. Pour eggs into the baking dish over potatoes and sausage. Add remaining potatoes and sausage, spreading evenly into pan. Top with remaining cheese.
Place in preheated oven for 30-35 minutes until eggs are set and edges are golden brown. Allow to cool in pan for 10 minutes before slicing and serving.