Let’s say specifically the probability that some card matches in exactly one run through of the deck. Now, without loss of generality we can let one deck be sorted (reorder one deck and perform the same permutation on the other deck). The question has become "how many permutations of 52 items have no fixed points.
How many permutations of n items have p fixed points? Denote this by F(n,p). Now, we can see how many permutations have p fixed points by picking p points to be fixed ([sub]n[/sub]C[sub]p[/sub] choices) and permuting the rest with no fixed points (F(n-p,0) choices). Thus
F(n,p) = n!/p!(n-p)! F(n-p,0)
For p=0, this gives F(n,0) = F(n,0). How can we get p=0 to recurse? By noticing that
n! = F(n,0) + Sum[sub]p=1[/sub][sup]n[/sup] n!/p!(n-p)! F(n-p,0)
F(n,0) = n!(1 - Sum[sub]p=1[/sub][sup]n[/sup] F(n-p,0)/p!(n-p)!)
Now, we should define F(0,0) as 1 (since, if nothing else, F(0,0) = F(n-n,0) = F(n,n))
F(1,0) = 1(1 - F(0,0)) = 0
F(2,0) = 2(1 - F(1,0) - F(0,0)/2) = 2 - 0 - 1 = 1
F(3,0) = 6(1 - F(2,0)/2 - F(1,0)/2 - F(0,0)/6) = 6 - 3 - 0 - 1 = 2
The probability of no matches ever is F(n,0)/n!, so the probability of at least one match is
1 - F(n,0)/n! = Sum[sub]p=1[/sub][sup]n[/sup] F(n-p,0)/p!(n-p)!
Anyone care to code this up and see what F(52,0) is?