Butter should not cause any staining of your teeth. You should avoid foods/drinks with artificial coloring in them such as sodas, curry, red wine, etc...Usually it takes 24 to 48 hours for teeth to get rehydrated and become somewhat resistant to picking up stain.
I usually wait 2 weeks for the color to settle. If the teeth were much darker than the shade you are lightening to, you may want to wait even a little longer as you will tend to get more rebound. Keep up your whitening once a week or so to maintain where you are at after the crown is in