You posted this BCB NG as well?
Problem with your approach is "... program would not enable C++ Builder / Kylix(C++) code to be migrated with no changes.", which is quite an understatement

. From C++, no freepascal/lcl component can be accessed, which is a major drawback IMHO.
So we either need a C++ compiler that can understand object pascal "weirdness" (borland c++ alike), or implement an "export" option in freepascal to gcc/g++ compatible classes.
As I said in NG, the first should be doable, but there are probably many freepascal specifics in LCL code, but it's worth a try.
The second needs major support from FreePascal core compiler team. They are open for input, but it won't be a high priority item for them, as they want to release a version 2.0 compiler first, I think.
Hope this is useful.
Micha.