We thought that Henry's gift would be a surprise for him, but it turned out to be a surprise for us. Henry found his gift in the closet long before Christmas. We didn't make a big deal of it, just shut the door and moved on. I wrapped it up a week or two ago and Henry seemed to forget about it once he couldn't see it.
Christmas morning we brought it out for him to open. He didn't seem overly excited, but we figured this was due to the abundance of gifts he had already opened from our extended family.
Once Henry had the gift open he did not get excited about Elmo (as he did when seeing it in the closet). Rather, he calmly reached into the opening of the box and pulled out a previously owned toy that he had tucked inside at some earlier time. He was more thrilled with locating the "lost" toy than the new one.
Maybe next year we'll just wrap up the toys he already has and give those to him again!