I wonder if you can spend a little time explaining the use of the .icpp file, variations of iml.h, iml_header.h and iml_source.h which is used when.
I am sorry, I am not able to explain for two reason: I am not an U /C developer and so, I also find very hard to understand all. I reached this and other results only spending lot of time and tests; second, you can see, english is not my preferred language.
I think that U++ developers will help you. Just post your questions in the correct forum.