El punto es que en el where de la sentencia del ModifySQL, debieran incluirse solamente los campos de la llave primaria, en el entendido que al ser de esta manera, los campos no serán null.
De cualqueir forma, con una serie de and's y or's podria hacerse funcionar de esta forma, pero no tiene sentido, pues la llave primaria es suficiente para identificar univocamente al registro.
Hasta luego.