Ein Array[0..3] of Char ist 4 Byte groß, ein DWord auch. Somit passt das Array rein.
Ein einfacher Cast tuts:
Delphi-Quellcode:
var
UserName: Array[0..3] of Char;
ID: DWORD;
begin
UserName := #255#0#0#0;
ID := DWord(UserName);
ShowMessage(InttoStr(ID));
Das Ergebnis (man glaubt es kaum): 255.