That's pretty much what I have been coding in my application to do. Find all the matching columns then sorting them by name. I then got concerned about the sorting process. If by sorting the columns up causes my insert command to look more like this...
INSERT INTO
table2 (
f4
,f5
,f1
)
SELECT
f4
,f5
,f1
FROM
table1
I haven't found anything that says they have to be in column order but just wanted to make sure.