All whitening products today whether over the counter or from a dental professional can only whiten tooth structure specifically enamel. They will not have any effect on fillings or porcelain.
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