You did nothing wrong! It'd be one thing if you cut your hair to spite your husband, but you did it out of the kindness of your heart for some sick children! He really should see it as a sign of your goodness rather than a sign of you stabbing him in the back.
I would guess he's more upset you didn't tell him you were going to do it first (so it might be a trust issue in his eyes) and while he might be mad about it for a little bit, the length of time he is upset at you and his actions so far are rather extreme. I hope that he doesn't have more deep-seated control issues and that you guys can work it out. I don't think you did anything wrong at all and you don't
need to apologize, but if you were to try to make peace with him (just to smooth things over), you may want to apologize for not telling him before you did it.
But he is totally overreacting. I would say the sooner you guys camn talk about it the better, as anger may build up on both sides. It's great that you are keeping your cool about it, things could get ugly in cases real fast such as this. I definitely agree with others, perhaps you can take him to see children that this charitable organization has helped.
[Dr. FE hat off now]
Oh yeah, and you look great with the new hair!