mIRC currently handles twenty variant types. In the case of the example you provided, the variant type is VT_UI1, which is a single byte, so it would be easy enough to copy it into a binary variable. For multibyte types, the binary variable would need to be filled with multibyte values and the scripter would have to know the byte size of the type in order to parse the binary variable. In the case of VT_BSTR, the binary variable would need to be filled with multiple, consecutive strings (that are first converted from BSTR to UTF-8), each terminated with a NULL character, and the scripter would need to parse the binary variable accordingly.

The byte sizes for the variant types are:
1: VT_I1, VT_UI1
2: VT_I2, VT_UI2, VT_BOOL
4: VT_I4, VT_UI4, VT_R4, VT_INT, VT_UINT, VT_ERROR
8: VT_I8, VT_UI8, VT_R8, VT_CY, VT_DATE, VT_DECIMAL
?: VT_BSTR, VT_DISPATCH, VT_UNKNOWN

So far, I have tested VT_UI1 with the example you provided. Do you have examples that return arrays of other variant types? And one that returns an array of VT_BSTR?