The first part (about him not accepting money) is sweet. You offered, and he declined, so let it go. Some people get a lot of pleasure from doing nice things for others, and don't care to feel like a hired hand when they are trying to be generous and kind. The way to express your appreciation is to do something kind/thoughtful for him. Just don't let him watch you pay for it. If he objects, tell him it gives you pleasure to do something nice for him.
Regarding the second part - why are you staying for two weeks if you aren't comfortable with that arrangement? It seems like a lot to go from no sleepovers straight to 2 weeks of it. I would stay a night or two, and then go home. (And yes, of course you should bring something to X-mas dinner. It's rude to show up empty-handed.)
Relax... I'll need some information first. Just the basic facts - can you show me where it hurts?