I really like all the ideas above. Your situation is more complex and your son older than mine, so personally I think spaghetti and CoastalMom are probably better models. However, I'll throw in one more experience in case there's something that helps. DS11 had an opportunity to go into a full-time gifted grade 6/7 class at the start of this year. He was actually offered a similar spot the year before, but only after school had started, in a school far away, under a wide range of less-than-ideal circumstances. He didn't want to switch, and after visiting the place and doing the pros and cons list with him, etc, we agreed with the reasons for his decision and he didn't move.

This year, however, the circumstances were much better and switching was clearly the right thing for him to do. But DS is terrified of change, especially when it comes to his environment. He has never been one for routine, but instead always seemed to find security in the constancy and predictability of his surroundings. Moving around the living furniture is still a big deal. So I threw out the idea, let it percolate, and then tossed it in the air again a couple of times a week without seeking any particular response. Eventually he asked me, "Are you going to make me do this?" And I responded, "I am going to make you try it. It will be your choice whether you stay." In our case, it was a one-time only chance to get into the new school, but his old school would have to take him back any day, anytime he wanted, no matter what. So the big deal for us was making it clear that going back was always, always an option and would be entirely his choice. But not trying it at all wasn't.

A big reason this worked for us was that he knew he really did want a new kind of school environment, but feared letting go of the very-well known and therefore safe place. Even if it wasn't a very happy or effective place for him, it was at least totally predictable, and that mattered an awful lot. So we could force the issue because we knew he did really want it, and because the escape clause was clear.