I am not a lawyer so I can not tell you authoratively that these are the answers to your queries, for that please contact
a competent immigration lawyer but what I can tell you is my (and also few of my friend's ) personal experience. I also was in same situation as you are now. Company Y transferred my H1 while I was working for company X in US. Then once the visa was transferred, I moved to company Y but didn't go back to India just to get my visa stamped. After about six months working for company Y, I went to India on vacation and got the visa stamped. I took Notice of action and pay stubs from the new company with me to the consulate. So I guess you don't have to go to India or any other country to get your new visa stamped in your passport. I think the reasoning is, you already have a valid visa, so you can stay in the country legally and you can work legally for company Y 'cause you have a valid work permit (notice of action - I 797) from them.
About I-94 I really don't know the legality in detail but I think when you will leave the country, that time immigration office will collect your existing I94 and at the time of entering US again, Immigration officer will issue you new I94 at the port of entry. Again I am stressing that this is my limited understanding in this matter and is based on my own and few of my friends experiences.