I was having the same problem this weekend. Before you buy any equipment make sure that your tension on your rear derailleur is properly tightened. You can use the barrel adjuster on the derailleur. The wire should feel firm when the chain is at your smallest chainring on the rear cassette. Also, you may need to play with the adjust screws on the rear derailleur for your high gear setting. That can interfere with your ability to get to your high gear rings. Secondly, find out if you rear derailleur hanger is bent (that was my problem and why I couldn't keep it in my highest gear).
You can do both adjustments yourself, but the bike shop I was at used some fairly complicated equipment to true the angle of my derailleur hanger so you may want an expert opinion from a shop you really trust. When you go to the store, don't just drop the bike off and pick it up. Go with the guy/gal and watch them work on the bike. Ask them what they are doing and how you can adjust the bike yourself. You're paying for their service so you should get a quick lesson while you're there. Also, if you ride alot, this is something you will constantly be fidgeting with as mountain biking knocks alot of things out of whack (just the bumping and banging around can throw things out of alignment). There are basically six screws/adjustments you need to worry about for your entire drive system. After about 15 minutes with someone knowledgeable and patient you can fix alot of things yourself.
Anyway, 15 minutes with my tech and I went from not being able to use my highest and lowest gears on a very cranky rear cassette to super fluid shifting through all the gears, just as a Deore LX is supposed to. Plus I now know what all of those adjustments and screws are for.
Good luck.