you forget something, after 20.a4 c6, 21.a5 Nc8 22.Na4 rxf7
23.Nc5 does not respond to treat of Rxf2. So i get a pawn for free. You can't on b7 because your position is awfull after Nxc2.
but instead of c6... Which can be good for the draw.
Rxf7 give black sufficient compensation, he has a centre, white has no centre. Before attacking weakness, white has to answer black treat, right after 20. Rxf7, a5 would remove the gard of d6 but since black is treatening f2, white has to answer that. I don,t think I am the one who should fight for the draw. And I don't see holes in my position, it look quite solid, I refuse pawn exchange while white wants to exchange, but can he accomplish a mgaic move, not sure.
White will need to play agaisn't black's centre.
For now, there is no weakness about the pawn structure and developpement still count in the ending. Black peice being active soon and white rook on a1 being not active cause trouble. How will he active it, as, if he don't active, black play with an extra piece.
rybka come at an perpetuel check, but it is with the most precise play, really hard to find over the board, such defensive move are not for everyone. and to tell you, the maneover Na4-c5 is doing nothing more then losing since I have bigger threat then you do...