Preheat oven to 350*. Bring 4 quarts of water to a boil in a large pot. Boil spaetzle for10 to 12 minutes, drain, reserve. In a medium fry pan, sauté bacon until crisp. Remove with a slotted spoon and drain on paper towels, reserve. Add onion, apple, salt and pepper to pan drippings. Sauté for 4 to 5 minutes. Add bratwurst and cook an additional 5 to 8 minutes or until heated through.
Lower heat, add creamed cheese and reserved bacon pieces to the pan. Continue stirring until creamed cheese is blended. Remove from heat and stir in sauerkraut, Swiss cheese and spaetzle.
Coat a 12X9 inch pan with cooking spray. Add mixture to prepared pan and top with pats of butter. Bake covered for 15 minutes or until cheese is melted.