In a large mixing bowl, add flour, salt, cream cheese, egg, butter, and milk. With your hands mix together until dough forms a ball. Turn out on a floured board and knead until smooth. You may add a little more flour to make the dough pliable. Divide dough into fourths. Put the pieces under a damp cloth, so it won't dry out. Roll the first piece to 1/4 inch of thickness and cut with a 3-inch cookie cutter or a glass. Put pierogi rounds under damp cloth while cutting the rest.
Filling: This may be made ahead of time! Mash hot potatoes. Saute onion in the butter and add this to the hot mashed potatoes along with the cheddar cheese, salt and pepper. You may add a little milk if too dense. The consistency should be a little thicker than mashed potatoes.
Assembly of pierogis: For each pierogi, place 1 tablespoon of potato mixture in the center of the dough circle. Fold over to form a half circle. Seal edges by pinching together with your fingers. I then take a fork and press all along the edges. Repeat with remaining dough filling.
Cooking pierogis: Fill a large pot half full with water and bring to a boil. Drop 5 or 6 pierogis in at a time. When they float to the top, cook for 1 minute. Place in a colander to drain. They will stick to paper towels. Repeat with remaining pierogis.
Frying pierogis: In a large frying pan saute onion in butter and remove onion to a separate bowl. Place pierogis in pan and cook for 2 mintues on each side. You may have to add more butter for frying. Remove and place in a covered casserole dish. When all pierogis are prepared, pour sauteed onion over the top. Serve with sour cream or applesauce.