BL touch is only probing once before the print and Z-offset cannot be changed in Octoprint - Nozzle is printing too high and can't be adjusted with Octoprint.
What mainboard do you have in the Ender3 Pro? mine had a stock Creality version which doesn't have a connector for a BL Touch - so if you've connected it via the display adaptor you will need to blow the firmware in the mainboard so that it knows you have ABL. I replaced the stock board for an SKRminiE3.
If it has worked before, sounds like a cabling problem to the moving carriage, I've had lots of broken cables in the part cooling fan cabling [never the others oddly], which resulted in me putting a bracket onto the carriage structure which supports the bowden tube and all the cables, keeping them vertical as the reach the carriage, it has a clamp to which the cables attach [with cable ties or velcro] and allows slight rotation as the carriage moves left and right.
Strain relief on the cables helps to stop them breaking - copper wires work harden and eventually they break.
Do you know what your z offset is?
How and when did you last set the z offset?
In the past when you ran a print, you indicate that your printer would run a mesh collection before the print. Since you stated that you removed and added your printer in Cura, could you maybe have made a mistake in your Start Gcode for the BLT. Have you looked at the gcode to see that you are sending a G29 and not a G28. A single probe sounds like a G28 is being sent.
Does Bed Visualizer Plugin work as expected? Meaning if you click on update Mesh Now button does it probe as you would expect ? Sounds like maybe yes but you just say the bed is level.
Yes, after manually levelling the bed recently I set the Z-offset to 1.1.
The bed visualiser works as intended through Octo, just not the printing.
Here's the G-Code that Cura has as default for this printer model - Interestingly, changing G28 to G29 starts the print about 4 inches off the bed! (still with no bed collection probing):
; Ender 3 Custom Start G-code
G92 E0 ; Reset Extruder
G28 ; Home all axes
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
I do have the Octoprint BLTouch plugin which does have G29 in the probe bed section
The bltouch Plugin does not cause any automatic probing at start of a print. It simply gives you buttons to send the proper commands to your printer from within the octoprint [control] tab interface. If you want Octoprint to automatically run a Mesh collection before each print, you have to have a G29 in your startup gcode. I am sure there is more to it than that to make it consistently successful but I don't do this myself so I am not sure what exactly you would do. For me if I were to want to probe before every print, I would likely add the same code I have in the "Bed Visualizer" to my start gcode so that I know I covered all the needs of mesh collection.
That aside, I think that if you do a manual mesh collection and you still have your prints starting high above your bed, this is the more interesting issue. To look into that more, I would say maybe feed the printer a M114 when it is trying to run the first layer, this will tell you where it thinks the Z height is. From there you might be able to figure out why it is so high, by knowing just how high it thinks it is.
If it says it is .02(or whatever your layerone height is) than it somehow thinks it is at the right height. Which likely means something is a mis with your z offset or how your probe is triggering when getting that zero.