I've never used bamboo sheets, so I can't speak to that. For my flannel cotton sheets, I've had good luck with vinegar. Add 1/2 cup to the wash, and let your sheets pre-soak for 20 minutes before washing. Many washers have a pre-soak option on the dial, making this easy to do. However, my washer's a front-loader, which means soaking's never an option. (Front-loaders use less water and spin the clothes through the water; this saves water, but makes it harder to remove stains). So, I soak my linens in a separate plastic storage tub. I set up a little assembly line in my laundry room each night. First set of sheets go into the plastic "soaking" tub with 1/2 cup vinegar & HOT water. 1/2 hour later, I move those into the washer, and put my next set of sheets in to soak. This has worked well for me. Even strong stains disappear over time.
P.S. Vinegar is a natural degreaser, deodorizer & fabric softener.