Hallo baer999,
du musst die Schleife durchlaufen, solange rest noch nicht Null ist, sonst schluckst du das letzte Zeichen. Ob das der einzige Fehler ist, weiß ich nicht, aber das lässt sich ja leicht im Debugger herausbekommen, siehe
[Artikel] Debugger: Wie verwende ich den von Visual Studio?.
Davon abgesehen birgt die Verwendung von Math.Pow das unnötige Risiko von Rundungsfehlern. So wie du in der einen Richtung den Rest sukzessive durch 62 teilst, solltest du in der anderen Richtung das Zwischenergebnis sukzessive mit 62 multiplizieren.
Apropos 62: Das ist nicht gerade
DRY. Ich würde eine Konstante verwenden. Oder noch besser Array.Length verwenden. Dann passt die Berechnung immer zu der tatsächlich im Array enthaltenen Anzahl von Zeichen.
herbivore