Hola Edgar,
Mas que una solución técnica, hablemos de una solución de diseño, para lo cual suele darme buenos resultados pensarlo en el contexto físico.
Imaginate que esta misma operación tuviese que hacerse con cosas físicas: hay un lugar donde hay varias cajas (cada una es una coordinación) que tienen cajitas adentro (las lineas de coordinacion).
Un operario tiene que hacer una orden nueva, entonces toma una caja de ordenes vacía, le pone el nombre del cliente con un rotulador y comienza a recorrer las cajas de coordinación buscando cajitas, entonces las pone en su caja.
Si otro operador va a buscar la misma cajita en la caja de la misma coordinación, ya no la encuentra. Entonces desiste.
El primer operario ve que tiene la orden completa, entonces la cierra, la numera y la envía al cliente (graba en la base de datos).
Si este operario se da cuenta de que no puede completar la orden o el cliente le grita desde lejos que se arrepintió, entonces devuelve cada cajita a su caja de coordinación.
Hacer todo esto no es fácil porque tenes que introducir algún concepto nuevo, pero la usabilidad y beneficio para el usuario es seguramente mucho mejor que avisarle que la orden en la que estuvo trabajando 10 minutos ya no es viable.
Abrazo