Hi Sergiy,
my stored procedure is as follows..
basically this procedure should return @NewStatus only once if it is called multiple times for a given @ID
UPDATE Table SET Status=@NewStatus WHERE ID=@ID AND Status=@CurrentStatus
IF @@ROWCOUNT=1
RETURN @NewStatus
ELSE
RETURN @CurrentStatus