Just a few of my thoughts - as always you don't have to answer, but may help you just to think about (or not?!) xx
Why did you choose to try to make DD bend to his wishes?
Why do you want him to stay?
Why are you letting DD dictate whether he stays or not - I think that's a bit of a slippery slope and I don't think it's good for her to have the 'responsibility' of working out if it's a good idea or not.
If I was your DH, no matter how badly I'd behaved, I woudn't be dictated to by my 12 year old DD about whether I could stay in my own home or not and whether I could come the next day. It's one thing for her to say I don't want to spend time with you and go to her room, quite another for her to say if he can come to the house or not.
Why do you think he changed from happy to grumpy?
Paperwork - tell him to take it with him and deal with it. He can bring it back to shred if needs be.
Homework - what was his excuse for not doing it? Did you tell him it was not good enough to let DS down, the teachers down & you down?
Meds - WTAF are these meds DS takes all the time? He should have set an alarm if he didn't think he could remember without being reminded.
Frankly I think it's good he's been like this tonight - it will help you keep those rose tinted glasses in their case!! x