>>885
まず
https://pastebin.com/zKBrmi8v
でNumPut()のtype指定に間違いがありました
同じURLで訂正版を上げました
NumPut(... UInt)
は間違いで
NumPut(... "UInt")
が正しい指定です
さらにサンプルで実際に書き込むのは2バイトなので
"UShort"の指定があれば足ります

指定を間違っていると
デフォルトの"UInt"が指定されたとみなされます
この場合は結果として"UInt"が指定されたのと同じことになります
指定されているtypeがUInt(Int)だと4バイト分のサイズなので
下位バイト分以上のデータは入りません
参考 UChar:1バイト UShort:2バイト UInt:4バイト UInt64:8バイト
またRawWrite()で有効なサイズ以上の書き込みサイズが指定されると
不足分には0x00が書き込まれます
なので5バイトのデータを書き込みたければ"UInt64"を使う必要があります
8バイト以上のデータを書き込みたければ
単純にNumPut()とRawWrite()を続けて使えば続けて書き込まれます

たとえば
すべてNumPut()で"UChar"1バイトのデータを指定し
RawWrite()で1バイトづつ書いていけば
サイズや書き込まれる順番などを考えず書き込むことができます