Spray large saucepan with non-stick spray. Melt butter in saucepan on medium heat. When butter is about halfway melted, slice and add cream cheese.
When cream cheese is about halfway melted, slice and add Velveeta. When Velveeta Cheese begins to melt, add 1 cup milk and stir well. Add parmesan cheese and then add other 1 cup milk. Continue cooking until cheese sauce is well-blended
While making cheese sauce, cook macaroni with salted water according to package directions but reduce cooking time by 25% so macaroni is just done (still firm). Drain and rinse macaroni. Toss macaroni in large bowl with cheese sauce (and ham).
Spray 9x12 pan with non-stick spray. Pour half of mixture into pan and cover with half of grated cheese. Pour remaining half into pan and cover with remaining grated cheese.
Bake covered with non-stick foil at 350 degrees F for 30 minutes. Uncover and continue baking until bubbly. You can prepare dish unbaked the day before and refrigerate. In this case, increase baking time to 45-60 minutes.