ok error de percepcion :P
Código SQL:
Ver originalINSERT INTO Asignados (id_contrato,fecha,asignado )
VALUES ((SELECT id_contrato FROM contrato WHERE clave_contrato = @clave_contrato ),@fecha_contrato , (SELECT CAST(@monto_asignado AS MONEY)))
COMMIT TRAN
END TRY
que no te falta en el commit el nombre de la transaccion en este caso TRAN?