You've read my mind in terms of what I was looking for. Pointed out the rabbit trails and the reasons for the final result was a nice touch, too.
My situation may be a little different, but maybe you can provide some insight. There is a plan to import all (with exceptions) user tables from a Progress database (that's part of a commercial application) into SQL Server 2005. There are over 500 tables, and when upgrades come out, there could be added tables, deleted tables, structurally changed tables.
Ideally, I'd like to
cycle through all the tables from the Progress database,
exclude the ones in the Exception table
compare the structure to the table definition in SQL Server 2005
note if the table is new
note if the table is no longer in Progress
note any differences in table structure
import the data if there are no differences
Your article seems to point in the direction of SQL#, something I've unfortunately found too little of. Please send me your thoughts on the above issue.