Sometimes GetHitResultUnderCursor returns 0,0,0 on a sculpted landscape. I noticed that it only seems to return 0,0,0 when I left click on a very flat surface of the terrain.
I eliminated all my code and tested at the most rudimentary level.
I can send Unreal developers my project OR try this. Make a new terrain, sculpt it, then make a lot of flat surfaces. Now go to those flat surfaces and output (print string) your mouse clicks on the landscape. Eventually you should see 0,0,0.