WideString wird benötigt, wenn du Strings über
DLL-Grenzen hinweg austauschen möchtest oder nicht-
unicode Delphiversionen (Delphi 2007 und früher) unterstützen möchtest. Dahinter verbirgt sich der
COM-basierte Typ BSTR. Deshalb ist WideString auch deutlich langsamer als ein einfacher String / UnicodeString, den Delphi selbst verwaltet.
Sinnvoll ist aber, wenn es nur um die Unterstützung alter Delphiversionen geht, den Typ per IFDEF als WideString oder string zu definieren, je nach Version...