OK, let me try to answer/comment on what you said. Excuse me if some of these sound blunt.

1. Your age is irrelevant.

2. Working at a management consulting company as an analyst is almost the definition of enterprise fizz-buzz programming. I haven't met any real hacker who works at those companies, and on the contrary I know quite a few who resent their IT jobs at such companies.

3. Quant jobs are also mostly dull, although if you get in a good place at a higher level, you might work on interesting stuff. If you're on the systems side of things, then high-frequency trading places have interesting work on optimizing execution times. However, the high pay at quant jobs is like cocaine -- you'll find it very hard to quit, even if you see more interesting jobs.

4. If you actually want to be a technical person solving problems for more than just the next couple of years, there's no need for an MBA these days unless you're NOT at a top-tier technical place. The better places like Google, Facebook, etc. will let you get very high up the corporate ladder without an MBA, and not having one somewhat innoculates against being pushed into more management-y roles.

5. It's hard to judge what your abilities actually are. You didn't mention anything about programming projects you've done (COMPLETED), which is one of the biggest pieces of evidence that you are good and capable at hacking. On the other hand you do mention accepted research papers at a good venue -- if the journal is actually good, then this will be an ENORMOUS help in your getting into a PhD program. A quick recap, in case you're unfamiliar about what matters for PhD admissions:

* Evidence of research ability. This is basically the only thing the top schools care about. The way they judge this is:

* Previous papers published, and the level of the conference/journal they
were published in. You (perhaps) have this. You are automatically above
90% of applicants.

* Recommendations from good researchers. You're at a top 7 school, and you
did research. Hopefully it was with someone who (a) got to know you well
and (b) was impressed with your work and (c) are themselves known as good
researchers to others in their field. If so, you're basically in at just
about any place you want, as long as you don't fuck up in some other
category.

* Grades matter somewhat if you're at a known good school where the
academic standard is tough. It's far less important than the previous
two, though.

* As long as you don't say something completely idiotic in your essays,
they don't matter.

* General GRE scores don't matter at all, as long as you're above some
fairly low threshold. Subject scores don't matter at all, even if you're
only at the 50th percentile.

In summary, you have a very good shot at getting into a good PhD program, if you're accurately self-assessing your publications/school reputation. Also, it's much easier to get into a PhD program straight from undergrad since your recommenders will remember you best, and often working for even a year really dulls your desire to go "back to school".

While theoretically PhDs are internships for becoming a professor, in practice less that 50% continue on to academia in CS, so you shouldn't view it as a negative even if you eventually want to go to industry. A PhD will open doors to top research labs like Microsoft/Adobe/Google/Mitsubishi Research, where you'd get to work on cool, tough problems. Getting a PhD at a top place also requires many of the same skills needed for startups -- self-motivation, getting stuff done, working your ass off, being able to present your work well and "sell it", being effective at choosing the right problems to solve, solving them, and being able to communicate your results, etc.

On the other hand, it is a large time-commitment -- at least 4 years and perhaps 5-6 -- and your experience is largely determined by the quality of your advisor -- both technically and at a personal level how well you get along with him/her.

6. Your visa issue shouldn't matter much for big companies, as they all routinely help their employees get better visas and some even start them on the green card process. However, for startups, this could be a problem, depending on how much risk you can handle. 29 months is not necessarily going to be enough, and I don't know how easy it is to get a visa upgrade while at one.

Reply to this comment if you need further clarification or have more questions.