Question: I have a TN visa valid until Dec. 2007. I obtained an H-1B approval for Oct. 2007. I have not departed the U.S. since I arrived in Jan. 2007. Now I want to transfer my H-1B to another company. Can I do that without leaving the U.S. ?
Answer: I am assuming USCIS selected your H-1B petition under the lottery system for Fiscal Year 2008 for a start date of October 1, 2007. Did you request a change of status from your TN to H-1B status when you filed this initial H-1B petition? If you did, and USCIS approved the change of status from TN to H-1B, then you’re status would have automatically changed to H-1B status on your October 2007 start date.
This would then allow you to utilize the H-1B visa portability rules. These rules allow you to start work with a new H-1B employer as soon as that company files an H-1B petition for you. You do not need to wait until USCIS approves the petition before starting work with the new company. Similarly, because you are currently under H-1B status, your petition is not subject to the H-1B cap and could be filed at anytime. You would not need to depart the U.S. in this scenario.
If you did not request the change of status in your original H-1B petition, or USCIS did not approve the change of status, you may need to "activate" the H-1B by departing the U.S. and re-entering by presenting your valid H-1B I-797 approval notice. This would then "change" your status from TN to H-1B. In order to use the portability provisions, you'll need to prove you worked under H-1B status. So you may need to continue working for your original company for a few weeks before you'll be able to apply for the new H-1B under the portability rules.