I can't get G29 to run BLTouch on my Ender 3 V2
This sounds like a firmware issue to me. I copied and pasted
G28 ;Home
G92 E0 ;Reset Extruder
G29 ;BLTouch

Into my start code, and it worked fine.
I have an Ender 3 V2 and a BLTouch (BL, not 3D.)
If you haven't updated your firmware, that's definitely why.
This is the start code I am using (in Ultimaker Cura)
; Ender 3 Custom Start G-code
G92 E0 ; Reset Extruder
G28 ; Home all axes
G29 ; Auto bed level
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish


How are you manually initiating the bed level? G-code command? (If so, which command/commands) or on the printer itself?
If you haven't already, I suggest you try placing the line G92 E0 ;Reset Extruder before the line G28 ;Home. I'm wondering if it is possible that this is somehow interrupting the process.
Are you on stock firmware? If so, I would try using firmware for the BLTouch, from the manufacturer.
*You can find a guide on how to do a firmware update here is an external link.
You shouldn't have to change anything in the configuration if you download the pre-configured BLTouch firmware.