FString::Join is a static function, and takes a TCHAR* as the separator.
I would have expected the following code to work correctly:
FString Result = FString::Join(Array, TEXT(""));
as the StrLen inside:
FString& operator+=( const TCHAR* Str )
Will be zero, resulting in no appending for the separator