Depends on a lot of factors.
Things you like to do, your financial situation(studying in the US can be expensive), family constraints etc.
You are one of the fortunate few who is getting paid well and enjoying what you do. Now you have some good admits. Not an easy decision. The advantages of going abroad are many. Living in the US is hard but will make you independant, confident and will broaden our horizons. The US is truly a melting pot of different people, cultures etc. You will learn a lot.
And if you are going to a top-30 CS school for graduate studies, I'd say there is little chance you can go wrong. These are top schools and you will have the opportunity to work with some of the best minds out there. There will be courses where you can go deeper into the foundations of what Computer Science really is. Maybe you will like it so much that you will stay on for a Ph.D. Maybe you will hate it so much that you will leave with an M.S.. Most probably you will fall somewhere in between.
You're 23 and IMHO shouldn't be too concerned about ROI at this stage in your career. There are plenty of job prospects in the US even if jobs are moving overseas. I should know since I recently changed jobs. The market is much better than it has been in years and yet the number of jobs moving to India and other countries are also increasing. If you want to move back to India as soon as you finish your MS, there are plenty of big MNC's in India who will look very positively at that MS you have from a US school.
"Will doing an MS actually build my skills in terms of better jobs?"
Depends on the job you're looking for. If you go for something more hardcore CS, an MS would almost certainly help. Most MS programs have courses on Algorithms, Architecture, OS, AI, Theory mandatory and these can give you a wonderful background in those fields. If you're looking for Ajax, Ruby to be taught in a MS program, you may be disappointed. (You can learn the basics on your own in a week or so)
"Are there enough jobs in R&D depts. of various companies lying vacant where they actually use theoritical CS."
Yes, Absolutely. Some may require a Ph.D. though.
"What is preferred in the industry?"
Which industry? R&D jobs need a Ph.D.. A "normal" job you can get by with a Bachelor's.
"Another thing that concerns me is that to earn big bucks I will have to do an MBA even after my MS"
You want to earn big bucks? Become a banker. There is a higher probability you'll make big bucks there than in the software industry unless of-course you get lucky, work for a start-up, get bought over....
Make your own decision. Consult your family and close friends.