Botton Layer: Combine macaroni, eggs and cheese. Spread over bottom of greased 13 x 9 ~ or ~ two 8 x 8 casserole dishes. Set aside.
Filling: In a large skillet, cook beef, mushrooms and onion until tender and browned. Drain fat. Stir in tomato sauce and seasonings. Simmer, uncovered while preparing topping.
Top Layer: In a large saucepan, melt butter. Stir in flour, salt and nutmeg. Add milk; cook and stir until thickened and bubbly. Add a bit of the milk mixture to the eggs, stir quickly, then return to the saucepan. Cook over low heat for 1 minute longer.
To assemble: Spread meat filling over macaroni. Spread top layer over the filling. Sprinkle with parmesan cheese.
Preheat oven to 350. Cook the casserole for 35 - 40 minutes or until heated through.