I think we've met the same problem some days ago with delphi 2006 and JCL and we just found a simple way to solve it : you have to change your compiler settings to align record data on 4 bytes.
For Delphi 2006, Go to Project => Options => Compiler => Code generation and look for the "Field Record Alignment" with a combobox with possible values : "0,1,2,4,8". You have to choose 4 (8 also seems to work) and recompile all your project
I do not know for other Delphi versions but it should be quite similar
IMHO
PS : Sorry for writing in english on a german forum :(. I hope someone could translate it to others people here