Я, кажется, догадываюсь, откуда он это взял.
Точнее, откуда это взял тот, у кого он это взял. 

Если сделать вот так:
- Код: Выделить всё
- Type xx
 a As String
 b As Long
 c As String * 10
 d As Long
 e() As Byte
 End Type
 
 Sub test()
 Dim s As String
 Dim x As xx
 Dim f As Long
 s = "abcdef" + ChrW(&H6DE)
 
 x.a = s
 x.b = -1
 x.c = s
 x.d = -1
 x.e = s
 
 f = FreeFile
 Open "c:\testfile" For Binary As f
 Put #f, , x
 Close f
 End Sub
 
То получим в файле весьма любопытный результат:
x.a будет выглядеть вот так (hex): 
07 00 61 62 63 64 65 66 3Fx.c - вот так: 
61 62 63 64 65 66 3F 20 20 20А x.e - вот так: 
01 00 0E 00 00 00 00 00 00 00 61 00 62 00 63 00 64 00 65 00 66 00 DE 06Т.е. x.a записался как ansi, при этом в самое начало добавилась двухбайтовая длина строки.
x.c - тоже как ansi, и недостающая часть строки заполнилась пробелами.
А x.e - как массив байт (логично, в общем-то), составляющих эту строку, предварённый неким заголовком, размером ровненько в 10 байт.
Впрочем, как это всё связано с тем, как vb хранит строки в памяти - не представляю.