1) For completeness I built the code with the 6.2.4 version of the compiler. It behaves the same as earlier compiler versions.
2) I used the term 'confused' because variables like SrcEnumReorder are constants so the compiler might be trying to view source that uses them as conditionally compiled rather it describing a run-time action.
3) I will try and generate a standalone module for you early next week.