Refuting the Anti-Cantor Cranks
The formulation "If $f:\mathbf{N} \to \mathbf{R}$ is an arbitrary mapping, then $f$ is not surjective" clearly fixes the original list of real numbers and sets aside the potentially combatitive issue of whether or not the list is all of $\mathbf{R}$.
Significantly, the argument is no longer by contradiction, but by direct implication: The diagonal procedure constructs a real number not in the image of $f$. Perhaps this may help circumvent the sense of double-talk presumably conveyed in first positing the existence of an enumeration of $\mathbf{R}$, then arguing that some infinite decimal is not on said list.
An error of tactics and substance, made in that FAQ and an uncountable number of online debates of these matters, is to equate
reasonable objections to parts of the framework (including objections identical to ideas published and developed by accomplished mathematicians)
with
mistakes in digesting the proof on its own terms.
The first category, of coherent self-consistent criticisms that in some views or formalizations are correct objections, include
- there can be no actual or completed infinity
- proof by contradiction and/or excluded middle logic, is bad
- there should be an effective procedure/definition for every number
- the number of effective procedures/definitions is countable
You cannot overcome these criticisms as such. Instead, the explanation is to present Cantor's proof in a way that is compatible with the criticism either by showing that the disputed concept does not appear in the proof, or formulating the diagonalization argument as it would be stated in a finitist, constructive, predicative, computable, or definable mathematics.
You could try limiting the discussion to the finite case of Cantor's theorem as a first step. Show them that for every function $f$ on the finite set $\{1,\ldots,n\}$ there is a subset of the domain $\{1,\ldots,n\}$ that is not an element of $\text{ran}(f)$. Show them how the construction works for some examples, say $n = 2$ and $n=3$.
If they don't accept this argument in the finite case, then challenge them to write down a counterexample $f$. If they do accept it, ask them to point out what goes wrong when $\text{dom}(f)$ is $\mathbb{N}$ (or an arbitrary set, although this may be too abstract for them.) At least you might be able to separate their confusion about diagonalization from their confusion about infinity.
EDIT: I am talking about the version of Cantor's theorem for sets of natural numbers rather than the version for real numbers. If they do not understand the correspondence between real numbers and sets of natural numbers, their notion of "real number" is probably not precise enough to have a reasonable discussion about Cantor's theorem.
The conversation seems almost equivalent to this hypothetical one about the irrationality of $\sqrt 2$:
ME: Suppose there are positive integers $m$, $n$ such that $m^2=2n^2$. Then we can generate a list of all prime factors and read off the exponent of $2$. This exponent should be even (because it is in the unique factorization of $m^2$) but also odd (because it is in the unique factorization of $2n^2$) so the equalilty cannot hold for any $m,n$.
THEM: Of course your proposed exponent cannot exist; it's not a well-defined integer.
ME: What do you mean? I gave you the exact procedure for constructing it: factorize that number. Check the factorization theorem.
THEM: But if we really have a list of prime factors then factor 2 has to have some exponent, right?
ME: Yes, of course, so let's say it's 57. Then it is odd and it would be also the double of an integer, that is impossible.
THEM: Exactly, it's impossible! Your definition of the exponent requires that it is both odd and even, which is impossible, so your definition is bad.
ME: But you're only saying that it's impossible on the basis of the assumption that the equality $m^2=2n^2$ holds for some positive integers $m$ and $n$, and the whole point is to disprove that assumption.
THEM: But we're doing this proof under that assumption, so how can we make a definition that runs contrary to that assumption?
ME: But that definition is a good one regardless of whether the assumption is true or false. It is a complete, algorithmic, unambiguous specification of an integer (the exponent of 2 in the unique prime factorization). What else could you want?
THEM: I want the definition to be both unambiguous and non-contradictory, and your definition is contradictory!
ME: Forget about the equality to be disproved for a moment. Don't you agree that for any number it's possible to construct a prime factorization and define the exponent of $2$?
THEM: No, it's only possible to define such an exponent if the number $a$ to be factorized is not such that $a=m^2=2n^2$, otherwise it's a contradictory definition.
ME: Don't you see that the contradiction is not the fault of my perfectly good definition, but rather the fault of your assumption that $m^2=2n^2$?
THEM: No, I don't.
ME: But what if we took our putative number $a=m^2=2n^2$, and fed it into a computer with an algorithm that spits the exponent of $2$ in the prime factorization? Would such a computer program work?
THEM: No it wouldn't, the computer program would hit the place on the list where the exponent of $2$ would be computed and then it would get crash, because it can't produce a number that is both odd and even.