>>50
VB8を手に入れて試してみたのですが、

<StructLayout(LayoutKind.Sequential)> _
Structure A
 Public x As Byte
End Structure

<StructLayout(LayoutKind.Sequential)> _
Structure B
 <MarshalAs(UnmanagedType.ByValArray, SizeConst:=10)> _
  Public y As A()
End Structure

Dim z As B
ReDim z.y(10)

で、あとは z.y(i).x でアクセスするので正しいのでしょうか。
一見これで動いてはいるのですが……。