Ein Typecast ist nicht nur eine Umwandlung, sondern die Interpretation eines Speicherinhaltes.
Steht an einer Speicheradresse der Wert 33, ist das als Byte betrachtet 33 und als Char/String(bei folgendem Wert 0) '!'
Eine Umwandlung per IntToStr Funktion würde '33' ergeben
[Edit: Text korrigiert. Meine Tastatur springt immer im Text
]