Thank you Mr.Knowitall. This is the information that you asked me in your last reply.

I am on my FIRST H-1B. The last time I re-entered USA from outside was in Jan 2008 (I-94 entry date -- I can't remember my I-94 expiration date).

I-797 for my FIRST H-1B (first 3 years) -
-- issued June 1, 2006
-- expires on May 31, 2009.
Visa Stamping on my Passport for my FIRST H-1B (first 3 years) -
-- stamped in Canada in Oct 2006
-- expires on May 31, 2009.

I am willing to transfer H-1 to Company B which I heard will give me the second 3 year H-1B period automatically (extension due to transfer).
Questions -
1. Should I wait to go out and re-enter USA until AFTER I have new / renewed I-797?
2. Do I have to go to my home country to get the new H-1B visa stamped in my passport for my SECOND H-1B period (with ext/renewed I-797) or can I get it done in Canada / Mexico / Bahamas like I did for my FIRST H-1B period? (I had my F-1 earlier stamped in my home country in 2003).
3. If I transfer to Company C, let's say in 2010 after all my stamping and everything is done, can I exit and re-enter with the existing visa stamp (that has company B's name on it) or should I go through the stamping process all over again?

Thank you Mr.Knowitall. Appreciate it.
3.