Duncan opened the game by hitting three consecutive mid-range jump shots.
"As his career has gone on, he has become a much better jump shooter. He can beat you a lot of different ways," Dunleavy said.
The Spurs extended the advantage to 69-52 at halftime behind 20 points from Duncan. The 69 points were the most given up by the Bucks in a half this season, topping the 58 points allowed by the team in the second half against the Spurs in a 110-99 loss in San Antonio on Dec. 9.
Henson had 10 second-quarter points for the Bucks, who won six of eight games at home during December before running into the streaking Spurs in Milwaukee's first game of the new year.
Duncan had high praise for Henson's performance.
"He had a great game tonight. I honestly didn't know much about him but it looked like he had a great skill set out there," Duncan said.
Henson has "upped his work ethic" over the past month, Bucks coach Scott Skiles said.
"He deserved a look," Skiles said. "John is a skilled offensive player. He made some plays out there that stand out. He made some NBA plays. It was a good step forward for him against a good team."
The early deficit faced by the Bucks turned out to be too much to overcome in the end.
"Very few teams are just going to quit but you have to do a lot of things well to be in the game with that team and compete against that team," Skiles said.
Notes: The first-half output by San Antonio matched the 69 points the team scored in the opening two quarters against Houston on Dec. 28. The Spurs scored 73 second-half points against Charlotte on Dec. 8. ... Spurs guard Gary Neal returned to the lineup Wednesday after missing four consecutive games with a strained right calf. "He's a dangerous player. I'm really happy for him because he finally has an NBA career," San Antonio coach Gregg Popovich said of Neal, who played four seasons overseas before joining the Spurs in 2010. .Bucks guard Beno Udrih was inactive for the game after what Skiles described as a "flare-up" of an ankle injury that kept him out of 12 games earlier this season. Udrih, who didn't practice Tuesday, played 17 minutes but didn't score in Milwaukee's previous game against Detroit on Sunday. ...Duncan registered a blocked shot for the 20th consecutive game, the longest active streak in the NBA. Milwaukee forward Larry Sanders, whom Duncan was matched up against, blocked a shot for the 17th game in a row, tying him with Oklahoma City's Serge Ibaka for the second-longest active streak.