Hahahaha....are you ready for this Bengisimo - you're gonna love it, honestly.
My code was working fine.....but I was ADDING to the Y coord....as in screen coord style, where as obviously in 3D it's reversed. SO I was raycasting thusly:
camx#=getcamerax(1)
camy#=getcameray(1)
camz#=getcameraz(1)
hitob=ObjectRayCast(0,camx#,camy#,camz#,camx#,camy#+250000,camz#)
Where as I obviously needed to do:
camx#=getcamerax(1)
camy#=getcameray(1)
camz#=getcameraz(1)
hitob=ObjectRayCast(0,camx#,camy#,camz#,camx#,camy#-250000,camz#)
I literally refuse to admit how long I spent trying to sort this......