Du verletzt den Wertebereich der Funktion Chr(). Grössere Werte als 255 hat sie gar nicht gern

Die Sache sollte sich über Modulo lösen lassen. (5 mod 3 = 2)
Sonderzeichen werden wohl in jedem Fall Probleme machen. Am besten nur druckbare Zeichen verwenden.