E' assolutamente vietato modificare il valore delle variabili utilizzate all'interno di un ciclo for in Delphi.

Pur essendo possibile all'atto pratico, potrebbe generare effetti collaterali e nel peggiore dei casi Access Violation poichè il compilatore genera codice ottimizzato che potrebbe modificare il valore del contatore a proprio piacimento.

Converti il tuo blocco di codice in un ciclo while se vuoi essere certo della buona riuscita dell'algoritmo.

Ciao!