Yes, the workaround works but it interferes with precompiled header functionality of C++ Builder. is ideal candidate for precompiled header, because of this it is by default placed into pch.h. Placing #include before it results into following Warning message by compiler:
[BCC32 Warning] System.DateUtils.hpp(132): W8058 Cannot create pre-compiled header: initialized data in header
This isn't fault of Gurock Software but Embarcadero. Its old bug reported in 2006 and not solved to these days:
Problem is that I am forced to place SI include into precompiled-header section (because of ambiguity of Winsock objects). In the worst case (using log system in most modules) this can effectively disable precompiled headers in all the project. This can result in serious degradation of compiler performance:
Without #include in pch.h - 99 seconds
With #include in pch.h - 247 seconds
Maybe it suffices to resolve name ambiguity by using fully qualified names.