Dein erster Code zeigte zu kurze Codes an: SizeOf() liefert Bytes zurück und IntToHex() will die Anzahl der Ziffern haben. Eine Ziffer bei IntToHex ist ein Nibble und somit müsstest du den SizeOf() Wert mal 2 nehmen für IntToHex().
Ausserdem weiss ich nicht, warum du einzelne Bytewerte multiplizieren willst, wo du diese doch schon kombiniert liest als ein Word. Hättest du zwei einzelne nachfolgende Bytes aus dem Stream gelesen, hätte ich den Grund verstanden, aber so