Genau, wie du bereits festgestellt hast sind letzendlich alles Cardinals bzw. 32bit Werte. Du kannst also ebenso einen Integer (oder sogar Arrray[0..3] of Byte) verwenden (wenn dir der Delphicompiler nicht dazwischenfunkt
aber auch das lässt sich mit Casts dann korrigieren und tritt eigentlich auch nur bei var-, const- und out-parametern auf)