cCurThing hat den Wert '3'
nach dem Convert hat iCurThing den Wert 51
Man beachte die >
'<

Soll heißen: Du hast sowas ähnliches wie den
Ascii-Code

versuch mal nicht 3 im String an der Stelle stehn zu haben, sondern 4
dann wird der integerwert 52 sein

Dass du aus einem Char den wirklichen Integerwert bekommst musst du ihn erst in einen String umwandeln:
Code:
Convert.ToInt32(cCurThing.ToString())