Probabilmente il programma non entra neanche nel ciclo
Do While contatore <= frmScansione.lstScansioneFinale.ListCount
e per capire il perche' bisogna sapere di che tipo e'
contatore
se viene inizializzato prima del ciclo ad un valore specifico e, soprattutto, quanto vale
frmScansione.lstScansioneFinale.ListCount
nel momento in cui inizia il ciclo stesso.
Puoi avere queste informazioni anche eseguendo il codice in debug e fermandolo proprio nella linea del do while

Rispondi quotando