Ciao.
Sono in vacanza ed ho solo il mio 'piccolino', un netbook...
Senti, il tuo errore è dovuto probabilmente, per il poco approfondimento che hai dedicato allo studio dello sviluppo di base (cicli e variabili) e della gestione dei file sequenziali...
Allora, per il codice che hai scritto, o 'case = 0 o = 1' è uguale, perchè il fatto che metti la variabile-contatore (I),a 12, è solo un incremento che inizia da 12 invece che da 1... NON influisce sul numero riga del file che leggi, quindi riparte dalla riga 1!.
Per leggere il secondo blocco di righe, o crei un ciclo 'fittizio' fino ad 11 e dalla 12 'popoli' la listbox oppure, potresti 'precaricare' in un vettore di stringhe, es. di N righe e poi lavori su quel Vettore-testo scandendolo con opportuno Indice (I).
Un'altra cosa da ricordare lavorando con l'OPEN di file testo, è che il 'CLOSE #NFile', riporta il puntatore del file testo aperto in lettura, all'inizio...
Credo che mettere N righe del file su un vettore, es., Righe(22), e potrebbe andare bene anche per 300 righe e potresti leggere porzioni es. di 20 righe..., sia il metodo migliore, perchè sai che ponenedo l'indice di scansione del vettore (I) = 50, sarai posizionato alla 50.ma riga... e così via....
Saluti, dall'Isola d'Elba...