No funciona cuando lo haces en el triger porque estas realizando una transaccion distribuida.
Es decir, antes de confirmar el insertar o modificar una tabla en 2005 requieres hacer una operacion en un servidor diferente y SQL Server trata de manejarlo todo como un solo bloque para asegurar la integridad de la informacion.
Debes asegurarte que ambos servidores esten listos para realizar transacciones distribuidas... o bien realizar el acceso al linked server fuera de la misma transaccion.
Te dejo la liga de la ayuda de SQL Server 2005, espero te sea de ayuda.
Distributed Transactions (Database Engine) Saludos!