Навскидку нашел это:

DevTypeLibs:
## Код:
```
| WinOle.VT_SAFEARRAY:
         IF wrapper IN opts THEN out.WriteSString("CtlT.Any")
         ELSE out.WriteSString("ARRAY [safe] OF "); WriteType(t.u.lptdesc^, tinfo, opts, out)
         END
```

Документация .NET:
- COM safe arrays are self-describing. By examining the safe array, the runtime marshaler can determine the rank, size, bounds, and usually the type of the array contents at run time... // какой новаторский подход... C-массивы уже использовать не рекомендуют.
- VT_SAFEARRAY Indicates a SAFEARRAY. Not valid in a VARIANT. ??

Будем надеяться, что хорошая мысля приходит опосля

Кстати, насчет IF wrapper IN opts THEN out.WriteSString("CtlT.Any"), а нет ли какого COM-интерфейса для этого самого SAFEARRAY?