-TN is fine. If you don't travel internationally too much after I-140 is filed, you may not experience the trouble you mentioned with TN status, but eventually you are still allowed to enter US.
As for H-1, some employers (e.g. small company) may not want to sponsor it even if they sponsor you I-140. The reason is that there is cost of about total $5000 (lawyer fee and H-1 fee) for sponsoring each H-1b, and also the employer have to pay the H-1 holder at the prevail wage level, but no specific requirement to pay TN holder (can pay the TN holder with lower salary.