I think you are right. Following your recommendation, 32.Bf4+ Kc6 33.Ng5 b1Q 34.Rxb1 Bxb1 35.Nxf7 Rh5
This position is really tricky for both sides.
In my opinion, it is better to play 28.Re1! with the plan to eliminate the strong bishop!
1.d4 d5 2.c4 c6 3.Nf3 Nf6 4.Nc3 e6 5.Bg5 dxc4 6.e4 b5 7.e5 h6 8.Bh4 g5 9.Nxg5 hxg5 10.Bxg5 Nbd7 11.exf6 Bb7 12.g3 c5 13.d5 Qb6 14.Bg2 O-O-O 15.O-O b4 16.Rb1 Qa6 17.dxe6 Bxg2 18.e7 Bb7? 19.exd8=Q+ Kxd8 20.Ne2 Bf3 21.Qc2! Ne5 22.h4 c3 23.Rbd1+ Kc8 24.Rde1 Qe6 25.Nf4 Ba8 26.Re3 Nf3+ 27.Rxf3 Qc6 28.Re1 Qxf3 29.Re8+ Kc7 30.Rxa8 Qxa8 31.bxc3 A: 31...c4 32.cxb4 Qc6 33.Qf5 c3 34.Nd5+ Kb7 35.Ne7 Bxe7 36.fxe7 c2 37.Qxf7 Re8 (
37...c1=Q+ 38.Bxc1 Qxc1+ 39.Kh2 Qc7 40.e8=Q +-) 38.Kh2 Qd7 39.Qf3+ Qc6 40.Qe3 a6 41.a3 winning
B: 31...a5 32.cxb4 axb4 33.Qc4 +-
So, a better try maybe is
25...Bb7. Here we have the same idea as white:
26.Re3 Nf3+ 27.Rxf3 Qc6 28.Rd1 Qxf3 29.Qf5+ Kb8 30.Rd8+ Kc7 31.Rd7 Kb6 32.Rxb7 Qxb7 33.bxc3 bxc3 34.Nd5+ Kb5 35.Qd3+ Kc6 36.Ne7+ Bxe7 37.fxe7, with again the same kind of play as in the previous variations. The strong e7-pawn, covered by the bishop, is really annoying for black.
Funny enough, Richard Palliser in NIC Yearbook 89 also noticed the Kirpikov - Yarkov corr-game. He claims white is winning, although he does not mention any improvements for black on move 21.
But it seems 18...Bb7 is really busted now.