First off, I would always recommend visiting Beijing over Shanghai if you haven't been to either city. Having said that, getting to/from the airport, especially in those places, plus the standard delay will add up to at least 6 hours, each way. That's a lot of time spent on the road for a 7 night trip. Considering you're flying out at 10am, you would have to come back the night before, too. Wouldn't do it.
Macao is easily done in two days / one night though. But agree with
AtomicLush, it is most certainly not a waste of time. Both old towns are well worth visiting, and so are some of the Casino areas.
There will be plenty for you guys to explore in Hong Kong for the remainder of the 5/6 nights, too, including day trips to some of the islands that a lot of visitors can't fit into their schedules.
And if you really want to go see another city, there's always Shenzhen across the border:
http://www.flyertalk.com/forum/china...hong-kong.html
Great place for an "explorer type"