OLE Automation objects can require that an argument to IDispatch::Invoke be VT_ARRAY | VT_ This variant type is constructed using a SafeArray.
It is perfectly valid for the array to be empty and there are definitely times, using OLE Automation, when an empty array should be used.
The current OLEObject code does not take this into consideration and reports an OLE error instead of constructing an empty array:
Error 92 running xx line yy: OLE error
Error 92.909: One or more of the parameters could not be coerced to the desired type. The first parameter with incorrect type is argument z.