Primero, cuando guardas cada línea en el archivo, estás agregando espacios entre cada cadena (además del separador ";"), o sea, cuando después vuelves a separar las cadenas usando Split, lo que obtienes no son las cadenas originales, ya que contienen espacios que antes no había. Por ejemplo:
a = "Esto"
b = "no"
c = "funciona"
sw.WriteLine(a & " ; " & b & " ; " & c)
al volver a descomponer la línea en cadenas
Dim arreglo() As String = linea.Split(";")
lo que obtienes es: arreglo(0) = "Esto " arreglo(1) = " no " arreglo(2) = " funciona" si te fijas las cadenas que componen el arreglo no son las originales (nótese los espacios al inicio y al final). Por lo tanto, si es que ahora recorres el arreglo buscando, por ejemplo, la cadena "Esto" no la vas a encontrar. Así que tienes 2 opciones: Sólo agregar el separador ";", sin los espacios extras. Después de separar las cadenas con Split, le aplicas el método Trim a cada una (con esto eliminas los espacios extras al inicio y al final). Lo segundo, creo que deberías usar esta sobrecarga del método WriteLine, es decir, en vez de hacerlo así:
sw.WriteLine(txtMarca.Text & ";" & precio.Value & ";" & cbTipo.SelectedItem)
hazlo así:
sw.WriteLine("{0};{1};{2}", txtMarca.Text, precio.Value, cbTipo.SelectedItem)
Tercero, después de llamar a Split deberías verificar que el arreglo tenga la cantidad de elementos que tú esperas. Otra cosa, cuando agregas una fila al ListView no es necesario volver a crear el arreglo de cadenas a partir de un arreglo de cadenas (es redundante), sólo tienes que intercambiar los elementos 1 y 2, y después agregas el arreglo tal cual, sin usar New String() {...}. Por último, para buscar una palabra ingresada por el usuario puedes usar String.Compare ó Contains, dependiendo si vas a buscar en las cadenas individuales generadas al llamar a Split, o si vas a buscar en la línea completa (la que contiene los separadores). En el caso de usar String.Compare, el tercer parámetro debería ser StringComparison.InvariantCulture ó StringComparison.InvariantCultureIgnoreCase.