update stored proc ony fields that are passed to the proc and leaving others alone
Something like below if I understand you correctly.

UPDATE MessageDetail   
        SET 
            IsDraft = ISNULL (@IsDraft, IsDraft), 
            IsPreviewed = ISNULL (@IsPreviewed,  IsPreviewed),
            IsRead = ISNULL (@IsRead, IsRead), 
            IsFlagged = ISNULL (@IsFlagged, IsFlagged), 
            IsDeleted = ISNULL(@IsDeleted, IsDeleted)
            IsArchived = ISNULL(@IsArchived, IsArchived)
        WHERE MessageId = @MessageId