La verdad que no te entendí bien... o sea, no entiendo que quieres hacer, es momento de decir: "No eres tu, soy yo".
Lsv supongo que te refieres a Listview? creo que si, será que no uso ese control pero asumo que ese es.
No me queda claro si hablas exclusivamente de la capa de presentación (de allí el lst) o de la bd.
"...guardar las unidades en algún sitio ANTES de editar ..." ¿para que?
"cuando se edite la línea se guarda las unidades temporalmente , al actualizar pues se suma o resta la cantidad cambiada menos la temporal." ¿¿¿???
"al guardar las líneas no se sabe que numero de unidades hay después de los cambios..." numero de unidades de donde??? del lst o de la bd???
A ver, yo lo manejo así:
Lo siguiente es muy al margen de la lista que guardas en la BD temporalmente por si se presenta algún tipo de corte.
En la medida que voy agregando items a la lista voy validando la disponibilidad (checando el stock). Ya será tu política permitir o no permitir stock cero, notificar si lo que se pide es mayor a lo que existe, si hay items en reserva, etc.
Cuando se termina toda la lista y le dan al botón grabar, antes de tocar las tablas de la BD hago un bloqueo y valido nuevamente cada una de las líneas (ya que trabajo en red), si la validación no pasa doy un mensaje y no toco nada en la BD y la libero. Si la validación pasa entonces grabo/actualizo/elimino todo lo que requiera esa transaccion y fin.
Saludos