https://bugs.winehq.org/show_bug.cgi?id=53766
--- Comment #2 from Nikolay Sivov bunglehead@gmail.com --- As far as I can tell, VariantCopy() fails on Windows for SAFEARRAY(VT_VARIANT). I'm not sure if VT_SAFEARRAY should even be a thing within vbscript. I did confirm that using a global method that returns SAFEARRAY(VARIANT) does return VT_SAFEARRAY from getVT() test function.
I believe Pinball code is using typelib API, so maybe our ITypeInfo::Invoke() should produce VT_ARRAY|VT_DISPATCH output.