Interesting extensions.
The nice part of the syntax is that: 1. it is clear when you are going external. 2. procedural code can be written in C# -- big win there.
But it misses the two big issues in ETL that I always run into:
1. You have a bunch files that are 95% the same but have 2-5 columns that are different.
2. Someone sticks the wrong type of data a field.
For those issues, you'd be better off mapping a file (or a group of files) to a virtual table so you can specify the schema up front.