El problema como te dice gnzsoloyo es de diseño.... apesar de ello no veo porque se tiene que colgar, una cosa es que vaya lento y otra que haga saltar el servicio....
no nos has mostrado un update tipico de los que te producen el error....
Si el update termina con un "WHERE IDPropiedad=X" donde X es el registro a modificar estaria actuando el indice de la PK y no veo porque no te lo tiene que hacer con una cierta velocidad... otro tema serian updates masivos, pero por lo que dices no es el caso.
La solución de las dos tablas a parte de que mientras un usuario modifica un registro otro puede estarlo consultando con datos obsoletos, esta en el ultimo paso que propones para "volcar internamente" la fila deberias hacerlo o con un update con lo que seguiriamos con el problema o con un delete y un insert (es decir borrar he insertar el nuevo registro actualizado, con lo que cambiaria de indentificador ...) no se si con esto vas a ganar nada... Olvidate de ella, de hecho cuando un usuario quiere hacer una modificación lo que hace primero es consultar el registro, traer los datos a la pantalla, hacer las modificaciones, en la panatalla, y finalmente volcarlas a la tabla con lo que es prácticamente lo mismo....
Si haciendo el update "internamente" te lo hace bien luego es evidente que el problema lo tienes en otro lado, es decir en el proceso que lanza el update "externamente"... En este caso no solo tendrias problemas de diseño en la bbdd si no tambien en la aplicacion que te la gestiona...
Muestranos una sentencia de update que te este provocando el error a ver si vemos algo...
UPDATE ... ;
Nota: por cierto sea bien venido gnzsoloyo a cualquier hilo en el que yo haya intervenido.