Insert statement performance in SQL Server
It's hard to be sure what's happening without a sample of data, but I can throw a few ideas out there:


Have you isolated whether the problem is with the INSERT or the SELECT?  It could be that the query is running slower on the one machine, and it's not the insert per se that's the problem.
Do the two servers have the same schema?  I once spent a week tracking a poor performance issue until discovering that I had temporarily deleted an index and forgot to restore it (oops).  There are several good tools for automatically comparing schemas.  For example, if they have the same fields in their clustering index, but in a different order, that could make a big difference.
Do the two tables have similar record counts, fragmentation, and fill factors?  Those shouldn't make a huge difference, but they will affect insert speed.
To avoid the implicit insert, consider writing the result of your SELECT into a temp table, with data types and clustering fields like the target.  Then INSERT from there into your target.  This will let you separate the cost of the INSERT vs the SELECT, and will minimize the time the target table is locked.