¿Puedes editar registros del servidor remoto si lo haces manualmente desde query analyzer (no directamente, sino desde MASTER)?
Tambien prueba colocando SET XACT_ABORT ON al principio de tu Stored Procedure.
Tambien prueba utilizar transacciones para que todo sea una sola operacion logica, ahi puedes especificar la opcion que te dice el mensaje
Código:
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRANSACTION
...
COMMIT TRANSACTION
Tambien lee los Books online, tienen cosas como esta:
Cita: BEGIN DISTRIBUTED TRANSACTION
Specifies the start of a Transact-SQL distributed transaction managed by Microsoft Distributed Transaction Coordinator (MS DTC).
Syntax
BEGIN DISTRIBUTED TRAN [ SACTION ]
[ transaction_name | @tran_name_variable ]
Arguments
transaction_name
Is a user-defined transaction name used to track the distributed transaction within MS DTC utilities. transaction_name must conform to the rules for identifiers but only the first 32 characters are used.
@tran_name_variable
Is the name of a user-defined variable containing a transaction name used to track the distributed transaction within MS DTC utilities. The variable must be declared with a char, varchar, nchar, or nvarchar data type.