It looks to me like qqwref's solution is almost there.
What we need to do, according to Jaap's page, is check that the corner permutation corresponds to a permutation of VWXYZ.
So, to work an example, let's use Jaap's proof to show that U2 R U2 is solvable by R and U. We start by saying that the solved position is V, and ask what the scrambled position is. It turns out to be Y.
Next, we say that the solved position is W, and find that with this assumption, the scrambled position is also W.
Going through and setting the solved position to each of the five pairings, we get
V -> Y
W -> W
X -> V
Y -> Z
Z -> X
this is the permutation
(VYZX)
Since it's a permutation of {V, W, X, Y, Z}, it is a solvable state.
We fail the test if at least one of the pairings does not get mapped to another pairing. For example, consider
the state reached by
U' F' U2 F' D2 F U2 F' D2 F2
This is a 4-cycle of corners, but it can't be solved by a 2-gen algorithm. If the solved state is called pairing V, then this corner permutation doesn't correspond to any of the other pairings, so it fails the condition qqwref set. This shows that some 4-cycles can be solved, but other cannot. I got that position by looking for a 4-cycle that obviously failed to map V into another pairing, and using CubeExplorer to get an algorithm for it.
Now consider switching all the pairs in V by the algorithm
F2 D' L2 U R2 D B2 R2 D' L2 F2 D' F2 D2
This clearly maps V to V, but it doesn't map W onto another pairing. This is why there was the overcount Stefan mentioned regarded qqwref's criterion. There are corner permutations that map some but not all pairings to other pairings.
It's now easy to see that swapping corners isn't allowed. That would leave four corners untouched, which means we'd have to be dealing with the identity permutation, but if we just swapped corners it's obviously not the identity!
We can also see why 3-cycles are disallowed. Suppose we could do an A-perm. Then by doing the A-perm, then a U, we'd have swapped a pair. If the three-cycle is on the R face, it's basically the same argument. If it's split between both faces, it's easy to see by playing with the cube a couple moments that it could be achieved by conjugating an A-perm with one or two allowed moves, so 3-cycles are not allowed.