I recently had my hair dyed brown. This is only the second time, as I have always had my hair done with blonde highlights. After washing my hair the first time after processing, I went to sleep with it wet; the next morning my pillow case was covered in brown splotches. I didn't wash my hair for at least another 5 days and washed it again but went to bed with my hair slightly damp and found not as many brown splotches. My hair looks a little faded. The hair dresser said it was probably because I was menopausal and the hormones prevent the colour from adhering. Is this possible?
If you like chocolate brown and don't need lift to get it, then check out henna and indigo. You can learn more about it at hennaforhair.com. (I used to use it but don't any more. It's good stuff, though -- but must be considered permanent.)
Considering the fact that you've always had blonde highlights, my guess would be that the peroxide that opened your hair shaft to allow the natural melanin in your hair to wash out has left your cuticle permanently open. This makes it harder for people to go from blonde to brunette if you are not a natural blonde. The only thing that you could really do is just wait until the highlights grow out. That's the only way your color will stick better. Even henna will eventually fade.