Has intentado hacer un IF para el caso contraio del If ??
} else {
if (registro[i]= null && registro[i].equals("") ) {
}
....
Creo que el operador && es conjuncion , osea tine que cumplir esas dos condiciones que dices (!= y !reg..) .
Deberias usar el operador de Disyuncion || , para el OR. condicion 1 o condicion 2