Quindi, mi dici che se tu ricevi la stringa
ABCDEF01020304050607
ti interessano solamente i valori
ABCDEF01
Se e' cosi', allora la for andra' ad esaminare il resto della stringa ed avrai un errore (overflow).
Se sei sicuro che dovrai ottenere un long (al massimo) ti conviene eliminare la for ed effettuare una conversione diretta. Se e' cosi', e ti interessa, ti potrei scrivere un esempio ...
P.S. la variabile decimale non serve ... non la utilizzi ...