I’m late in responding, but I wanted to add that a bath is an important part of the night time routine. You can bribe him with privileges if necessary. We were told that the best way to absorb magnesium is through epsom salt baths. We do an epsom salt + organic lavender bubble bath for our 7 year old daughter every night and she now sleeps through the night almost every night. We had the same struggles for years as well. It worked so well that I started using the epsom salt and lavender in a nightly bath for myself and it cured my insomnia that I had for 15 years!
I would also see a nutritionist. Diet plays an important role for our daughter. We avoid all artificial flavors and colors as much as we can (unless other people give her candy, which happens!). We can see a huge difference when she has something she shouldn’t!