The variant type is VT_UNKNOWN so we should be using V_UNKNOWN, not V_VARIANTREF(V_R8) to check the type unmarshalled properly.