Here's my input:
3 nights in Vienna sounds good, but I would suggest that you either 1) visit Melk and the Wachau Valley as a day trip from Vienna or 2) spend one night in the Wachau Valley/Melk and consider staying in Duernstein instead. In the Wachau Valley, especially if you have a car, I would suggest seeing more than just Melk as the beauty lies in the valley itself, in the villages of Spitz, Weissenkirchen and Duernstein. Wonderful to explore on a bike. On a side note, there is no "Old Town" in Vienna as the center of the city is quite modern by European standards. The city center is referred to as the First District or the Innere Stadt. As public transportation in Vienna is excellent, you can easily stay in districts 3, 4, 6, 7, 8 as well and get to the center in a few minutes (Vienna is small). These districts are much more interesting in the evening with better restaurants.
Your Salzburg/Hallstatt/Grossglockner HAR really messes me up. First, I think that 2-3 nights in Salzburg is fine and I would strongly recommend you stay in the Old Town (yes, this is a proper old town). Rick likes to save money, but it is money well spent to be right under the fortress. I also think that you stay in Hallstatt for the one night on the way to Salzburg from the Wachau Valley.
After Salzburg, pack up at that point and head towards the Grossglockner HAR, staying in Zell am See or Kaprun. Spend the next day driving the HAR and spend that night in Lienz or Millstatt. Trek over to Graz if you have decided to day trip to the Wachau from Vienna. I totally agree with the Zotter Chocolate factory recommendation - it is quite likely the best attraction in all of Austria. You'll see. The nearby Riegersburg fortress built on a dormant volcano is spectacular. I've suggested to itineraries below. You will be doing a lot of driving.
Night 1 - Vienna
Night 2 - Vienna (Day trip to Wachau)
Night 3 - Vienna
Night 4 - Hallstatt
Night 5 - Salzburg
Night 6 - Salzburg
Night 7 - Zell am See
Night 8 - Lienz/Millstatt
Night 9 - Graz
Night 10 - Graz
Night 11 - VIE
OR
Night 1 - Vienna
Night 2 - Vienna
Night 3 - Vienna
Night 4 - Duernstein
Night 5 - Hallstatt
Night 6 - Salzburg
Night 7 - Salzburg
Night 8 - Salzburg
Night 9 - Zell am See
Night 10 - Lienz/Millstaff
Night 11 - VIE