not sure, the thing is that when alsa mixer does not "remember" the last state of the card you can manually use the "alsactl store" command to save it. Make sure you are running that command as root.
Now comes the question, do you have more than 1 card? or do you have a sound card integrated on the motherboard besides your card? because in that case you will have to specify "alsactl store -c0" or "alsactl store -c1"... I would do both just in case.
also take a look at this thread, maybe there is the answer: