Gosh, you can be there for 5-7 months and still have stuff to do with your son.
My first visit to Vienna was when I was six and I have loved they city -- and travelling -- since then. I remember the Schatzkammer (treasury) from that visit -- all those jewels, crowns and fancy vestments. Also, I seem to remember climbing the Stephansdom tower, which was a hoot. Not sure if there's a minimum age requirement for the tower these days.
You could easily spend a good half day at the Prater. Buy a combi ticket at the ferris wheel for both the ferris wheel and the kiddie train to stretch your shrinking dollar. Eat lunch at the Swiss restaurant and rent a pedal cart to tour the rest of the park. I recommend arriving first thing in the morning before the crowds and also it will be cooler. Also, you'll have lunch to look forward to.
Schonbrunn has tons for kids to do including the zoo. Our daughter loved the maze, the playground and the fountains. We did a quick walk-through of the palace with her, which she enjoyed. The room with the mirrors impressed her. (Any longer tour, though, and it would have been too much.) We saw the kiddie performance of the marionette theatre and loved loved loved it. Get your tickets now.
I hope you and your family get to extend your stay into a vacation. I would recommend going to the Wachau for a few days. Our daughter loved the castles (and still talks about Richard the Lionhearted's "broken" castle), the boat ride and riding our bikes. It is only an hour from Vienna by train. You could also do a train-boat-train daytrip through the rail service.