me respondo ami mismo en c:
el numero 18 se guara en 4 bytes = 0x00 0x00 0x00 0x12 =(ord(Str1[1])*16777216)+(ord(Str1[2])*65536)+(ord(Str1[3])*256)+ord(Str1[4])
pero en delphi se graba al reves:
0x12 0x00 0x00 0x00 = (ord(Str1[4])*16777216)+(ord(Str1[3])*65536)+(ord(Str1[2])*256)+ord(Str1[1])
es algo tonto pero me tomo toda la mañana