Chess Tempo #97369 - Is the problem's solution wrong? Can black force a win (against perfect play) after the following moves?

[FEN "6k1/5p2/1Pp3pb/2q4p/1rNpPP2/3Q2PP/8/5RK1 b - - 0 1"]
[StartPly "3"]

1... Rxc4 2. b7 (1. {Chess Tempo #97369})


A quick summary of this position is:


Black is initially an entire bishop ahead.
White has a passed pawn that is dangerously close to promotion.
Black has connected passed pawns.


Background

I recently asked "Chess Tempo #97369 - Theoretical win or draw?" about Chess Tempo problem #97369 where I asked what the theoretical value of the position is. From my own analysis (please feel free to check it for errors) I believe that black was in a winning position on the previous move, and at least one way to have won was to play Qxc4.

The only move that is accepted as correct by the Chess Tempo site is Rxc4 because it has a very high evaluation according to the site's engine (Toga II). However I'm not even sure that this move works against perfect play by white. If it doesn't work I will request the site's owner to disable the problem.

What do you think? Can black force a win from the position the diagram results in? If so, how? If not, why not? Opinions are welcome but using an engine to check your analysis is also encouraged.
I believe black can do no better than a draw from the starting position. First I'll give my own reasoning for it (and everything I'll say I've checked with Houdini, to rule out silly oversights on my part). Further below, I will suggest what I think is a very plausible explanation for why Chess Tempo's engine might have gotten it wrong.

The first move

1... Rb4


is forced, as it is the only way to keep white's b-pawn from queening without losing the rook. In turn, white's reply

2. Rb1


is forced, because without the b-pawn white will certainly be losing. Now white is threatening 3. b8=Q, which would force black to give up the rook. Since 2... Rxb1+ 3. Qxb1 doesn't help, black is thus forced to play

2... Qb6


Again white cannot let the b-pawn fall for nothing, and so has no choice but to play the sequence

3. Rxb4 Qxb4 4. Qa6


to stop black's threat of ...Qxb7. Now it is black to move from the following position:

[FEN "6k1/5p2/1Pp3pb/2q4p/1rNpPP2/3Q2PP/8/5RK1 b - - 0 1"]
[StartPly "9"]

1... Rxc4 2. b7 {Last given ply, white threatens b8=Q+} 2... Rb4 {First original move, prevent pawn promotion without loosing rook} 3. Rb1 {preserve pawn to avoid loosing}
3... Qb6 (3... Rxb1+?? 4. Qxb1 {pawn is just about promoted}) 4. Rxb4 Qxb4 5. Qa6 {black must now give perpetual check to avoid loosing}


Black would love to consolidate the position by getting the bishop to a spot where it eyes the b8 square along with black's queen (say by ...Bf8 followed by ...Bd6); doing so would eliminate any danger of white's pawn promoting, and allow black to regroup and win easily with the extra bishop. Unfortunately, if black tries 4... Bf8, then 5. Qa8 threatens to promote and simultaneously pins the bishop, preventing 5... Bd6. In that case, black has no better option than to play 5... Qe1+ and put white into perpetual check, draw. So 4... Bf8 doesn't work, but any other direct try by black to impede the advance of the b-pawn will just be slower. The problem is that, from the diagram position (meaning my diagram), black's forces are just uncoordinated enough that he doesn't have enough time to prevent Qa8 and promotion of the b-pawn directly, and must instead go in for perpetual check.

From a broad conceptual point of view, black has only one other idea to try and play for a win if he can't stop the b-pawn: to run his own d-pawn to promotion. But it's easy to see that that plan is also too slow. If black tries 4... d3, then after the white response 5. Qa8+ Kh7(g7) 6. b8=Q, black's queen is en prise and white is now threatening to mate. So black would again be forced to bail out and go for a perpetual check with 6... Qe1+.

What I think went wrong here

From your initial diagram position, an engine could search to a pretty healthy depth and keep seeing positions in which black retains a sizable material advantage (a full extra bishop). The reason for this is that though black cannot "really" stop the b-pawn from queening, he can give checks to push that event into the future, further down the engine's search. Now, of course, once an engine sees repetitions of the position in its search, it will recognize the draw and no longer see any advantage from the extra material. But ... (and this next part is indeed speculation, but it is not without sense)

A potentially problematic feature of this particular position, though, is that black doesn't just have, say, two checking squares from which the queen can carry out the perpetual. Checks can happen on e1, d2, d1, c2, c1, b2, b1 and in the meantime the white king could have at least 10 squares it could travel on; not to mention, a checking sequence could also get interrupted by, say, the white queen blocking a check, followed by the black queen getting back behind the b-pawn, and then the white queen returning to a6.

The point being, there are very many possible paths here; it's all still just a perpetual check, but the great variety of options here could make it so that, at whatever search depth it's working at in the Chess Tempo evaluation process, the engine couldn't quite see a repetition yet, because it keeps seeing things like, e.g. "Oh, I don't have to repeat with ...Qe1+, I'll check from d1 this time instead," pushing the recognition of a perpetual check beyond its horizon.

Again, I'm speculating, but it's at least not a nonsensical possibility.