Я думаю, что у вас есть задания задом наперед; Вы устанавливаете значения текстового поля для элементов строкового массива, которые являются нулевыми, потому что они никогда не были установлены. Попробуйте сначала.
Другая вещь, которую вы могли бы сделать, это поместить экземпляр массива данных в Form1 и передать его по ссылке на конструктор Form2. Таким образом, работа Form2 заключается в простом сборе данных, и на самом деле не нужно знать детали реализации Form1; все, что ему нужно, это массив строк (или, предпочтительно, класса с именованными свойствами), в котором хранятся его данные. Затем Form1 может проверить DialogResult для Form2, и если все в порядке, тогда Form1 знает, что в массиве есть данные, переданные в Form2, и может обрабатывать свои собственные функции ListView и запись в файл.