I'd try putting his bed in your room, If thats still to far, maybe he'd benefit from a sidecar style sleeper right next to your bed. It sounds like he is scared that you won't be there. Was he ever a co-sleeper? Sounds like your his hero, exhausting as it may be. He knows you will keep him safe, so he needs to stay with you.
